TGViewer
Channel Public Channel
Java Developer

Java Developer

@java_tg

Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Subscribers
14.8K
Photos
2.2K
Videos
163
Links
2.5K

Showing posts older than #2232 · Back to latest

Older Posts 20 shown
Post #2231 4.14K
А он хорош 😆

📱 Java Developer | #memes
  • 🤣 48
  • ❤ 4
  • 🔥 3
  • 😁 2
Post #2230 3.82K
👩‍💻 Преобразование целочисленных значений в enum

Иногда возникает необходимость преобразовать число в значение перечисления (enum). Давайте рассмотрим как это правильно сделать.

Например, есть перечисление:
public enum Season {
WINTER,
SPRING,
SUMMER,
AUTUMN
}

Для числа 0 это будет WINTER, для 1 — SPRING и так далее.


Попытка прямого приведения не сработает:
int x = 1;
Season season = (Season) x; // Ошибка компиляции


Правильный способ — использовать метод values(), который возвращает массив всех значений enum:
int x = 1;
Season season = Season.values()[x]; // SPRING


Этот метод извлекает элемент массива по индексу. Однако, если индекс выходит за пределы массива, будет выброшено исключение ArrayIndexOutOfBoundsException.

📌 Важно понимать, что целочисленное значение, используемое для получения значения перечисления, должно иметь смысл в контексте приложения, чтобы код был читаемым и надёжным.


❤️ — если было полезно

📱 Java Developer | #обучение
  • ❤ 37
  • 👍 4
Post #2229 3.7K
  • ❤ 6
  • 😁 2
  • 👍 1
Post #2226 4.3K
👩‍💻 Мастерство работы с Java Stream

В статье подробно рассматривается использование Java Stream: от создания потоков до промежуточных и терминальных операций.

Автор объясняет, как эффективно обрабатывать данные с помощью потоков, приводя примеры кода и практические рекомендации.

⛓ Ссылка на статью

📱 Java Developer | #статья
  • 🔥 6
  • ❤ 4
  • 👍 3
Post #2225 3.91K
❔ Задача с LeetCode «Valid Triangle Number №611»

Дан целочисленный массив nums. Нужно вернуть количество триплетов, выбранных из массива, которые могут образовывать треугольники, если мы примем их за длины сторон.

Пример 1:
Входные данные: nums = [2,2,3,4]
Вывод: 3
Пояснение: могут быть такие комбинации: 2,3,4 (с первой 2), 2,3,4 (со второй 2) и 2,2,3

Пример 2:
Входные данные: nums = [4,2,3,4]
Вывод: 4

📱 Java Developer | #задача #medium
  • 👍 8
  • ❤ 3
Post #2222 3.92K
👩‍💻 Как написать immutable класс?

Immutable класс — это класс, состояние объектов которого нельзя изменить после создания. Такие классы удобны для потокобезопасности и работы с неизменяемыми данными.

Чтоб написать неизменяемый класс, нужно следовать простым пунктам:

▶️Сделайте класс final, чтобы его нельзя было наследовать.

▶️Все поля — private и final, чтобы значение устанавливалось только один раз.

▶️Удалите сеттеры, оставив только геттеры.

▶️Инициализируйте поля через конструктор, выполняя глубокое копирование.

▶️Возвращайте копии mutable объектов в геттерах, чтобы избежать утечки ссылок на них.

❤️ — если было полезно

📱 Java Developer | #обучение
  • ❤ 36
  • 👍 9
Post #2221 3.98K
  • 👍 4
  • ❤ 2
Post #2217 4.17K
👩‍💻 Что нового в Spring Boot 3.4

В статье описаны нововведения Spring Boot 3.4: настройка HttpRequestFactory, структурированное логирование и упрощённое завершение работы приложений.

⛓ Ссылка на статью

📱 Java Developer | #статья
  • ❤ 9
  • 👍 2
Post #2216 3.67K
❔ Вопрос с собеседования

Могут ли у абстрактного класса быть конструкторы?

Ответ: Да, у абстрактного класса могут быть конструкторы. Они вызываются при создании экземпляров подклассов для инициализации общих переменных. Даже если конструктор не определён явно, компилятор добавляет его по умолчанию, чтобы обеспечить корректную работу цепочки вызовов super().

📱 Java Developer | #собеседование
  • 👍 19
  • ❤ 6
Post #2213 3.59K
👩‍💻 Аннотации @RequestParam и @PathVariable

Сегодня поговорим о двух аннотациях в Spring — @RequestParam и @PathVariable, разберём их различия и приведём примеры использования.

Работа с параметрами запроса — одна из ключевых задач при разработке веб-приложений. @RequestParam и @PathVariable помогают легко извлекать данные из URL.

▶️Аннотация @PathVariable

Используется для получения значений из пути URL. Например, если у нас есть запрос http://website.com/products/123, где 123 — это ID продукта:
@GetMapping("/products/{id}")
public Product getProduct(@PathVariable String id) {
// обработка ID
return productService.getProductById(id);
}

В этом случае 123 автоматически будет сопоставлено с параметром id метода.


▶️Аннотация @RequestParam

Эта аннотация используется для извлечения параметров из строки запроса. Например, если запрос выглядит так: http://website.com/products?id=123:
@GetMapping("/products")
public Product getProduct(@RequestParam String id) {
// обработка ID
return productService.getProductById(id);
}

Здесь id=123 извлекается из параметров URL и передаётся в метод.


▶️Где и когда использовать?

@PathVariable удобно применять, когда значения являются частью структуры пути URL (например, идентификатор ресурса). Часто используется в REST API для четкой организации маршрутов, например /users/{userId} или /orders/{orderId}.

@RequestParam подходит для работы с необязательными или дополнительными параметрами, передаваемыми в строке запроса, например фильтры, сортировка или пагинация: /products?category=electronics&sort=price.

📌 Используйте @PathVariable для статичных идентификаторов и @RequestParam для динамических, кастомизируемых параметров.


❤️ — если было полезно

📱 Java Developer | #обучение
  • ❤ 35
  • 👍 11
Post #2212 3.55K
  • ❤ 6
  • 👍 1
Post #2207 4.51K
👩‍💻 Транзакции в Spring: сила управления данными

В статье рассматривается работа с транзакциями в Spring: зачем они нужны, как работают и как их правильно настроить.

Автор объясняет, как обеспечить целостность данных при выполнении операций, приводя примеры кода и практические рекомендации.

⛓ Ссылка на статью

📱 Java Developer | #статья
  • ❤ 15
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →