Java | Фишки и трюки
7.21K subscribers
182 photos
29 videos
6 files
40 links
Java: примеры кода, интересные фишки и полезные трюки

Купить рекламу: https://telega.in/c/java_tips_and_tricks

✍️По всем вопросам: @Pascal4eg
Download Telegram
🚀 Что такое Stream API и зачем оно нужно?

Stream API — мощный инструмент для работы с коллекциями, появившийся в Java 8. Он позволяет писать лаконичный и читаемый код для обработки данных.

🔍 Преимущества:

1️⃣ Чистый код: меньше циклов и условных конструкций.
2️⃣ Ленивая обработка: Stream API выполняет операции только тогда, когда это необходимо.
3️⃣ Параллелизм: можно легко выполнять операции в несколько потоков.

Пример:
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.stream()
.filter(name -> name.startsWith("A"))
.forEach(System.out::println); // Alice


💡 Совет: Stream API отлично подходит для работы с большими объемами данных.

#java #streamapi #java8
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍17🔥5
⚙️ Зачем нужны default методы в интерфейсах?

С появлением Java 8 интерфейсы могут содержать методы с реализацией по умолчанию с помощью ключевого слова default.

✔️ Преимущества:

1️⃣ Позволяет добавлять новые методы в интерфейс без нарушения обратной совместимости.
2️⃣ Облегчает создание интерфейсов с базовой реализацией.

Пример:
interface MyInterface {
default void defaultMethod() {
System.out.println("Default implementation");
}
}


💡 Совет: Используйте default методы для минимальной реализации интерфейсов без создания дополнительных классов.

#java #defaultmethods #java8
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102
⌨️ java.time API (Современные Дата и Время)

Старый API даты/времени был неудобным и изменяемым (mutable). Новый пакет java.time (LocalDate, LocalTime, LocalDateTime, ZonedDateTime, Duration, Period) решает эти проблемы!


import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoUnit;

LocalDate today = LocalDate.now();
LocalDate birthday = LocalDate.of(2024, Month.DECEMBER, 31);
LocalDate nextWeek = today.plus(1, ChronoUnit.WEEKS); // Неизменяемый! Возвращает новый объект

System.out.println("Сегодня: " + today);
System.out.println("День рождения: " + birthday);
System.out.println("Через неделю: " + nextWeek);
// Вывод:
// Сегодня: 2023-10-27 (пример)
// День рождения: 2024-12-31
// Через неделю: 2023-11-03 (пример)


Используйте современный, потокобезопасный и интуитивно понятный API!
#java #datetime #java8 #javatime #api #bestpractice
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121🔥1👏1