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

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

✍️По всем вопросам: @Pascal4eg
Download Telegram
⌨️ Record: минимализм с максимальной пользой

Record — это компактный способ создания классов для хранения данных. Они появились в Java 16 и позволяют минимизировать код, генерируя за вас:
- Конструктор,
- Геттеры,
- Методы toString, equals и hashCode.

📌 Пример создания Record:

public record Person(String name, int age) { }


Этот код создаёт immutable класс с полями name и age. Использовать его просто:

Person person = new Person("Alice", 25);
System.out.println(person.name()); // Alice
System.out.println(person); // Person[name=Alice, age=25]


🔗 Особенности Record:
1️⃣ Поля всегда final и неизменяемы.
2️⃣ Record нельзя наследовать или быть родителем.
3️⃣ Можно добавлять свои методы и проверки.

📌 Пример добавления логики:

public record Person(String name, int age) {
public Person {
if (age < 0) {
throw new IllegalArgumentException("Возраст не может быть отрицательным.");
}
}
}


Когда использовать?
- DTO, VO, ключи в коллекциях, и везде, где важна простота и неизменяемость.

#Java #record
Please open Telegram to view this post
VIEW IN TELEGRAM
👍191
Что такое Record в Java?

Record – это новый тип класса, который появился в Java 14 и предназначен для создания неизменяемых объектов с минимальным кодом.

Автоматически создаёт equals(), hashCode() и toString().
Подходит для DTO (Data Transfer Object) и неизменяемых объектов.

✔️ Пример:

public record Person(String name, int age) {}

public class Main {
public static void main(String[] args) {
Person person = new Person("Alice", 30);
System.out.println(person); // Person[name=Alice, age=30]
}
}


💡 Совет: Используйте Record, если вам нужен неизменяемый объект с автогенерацией методов.

#java #record #java14
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122
🔥 java.lang.Record vs Lombok @Value – что лучше?

Многие используют Lombok для DTO, но с Java 14 появился record. Стоит ли переходить?

🤔 Чем record лучше Lombok?

🟢 Автоматически создаёт toString(), equals(), hashCode().
🟢 Immutable без аннотаций.
🟢 Улучшенная поддержка в JVM и JIT.

📌 Сравнение синтаксиса:


// Java Record
public record User(String name, int age) {}

// Lombok
@Value
public class User {
String name;
int age;
}


💡 Совет: Используйте record, если вам не нужен полный функционал Lombok – код будет чище.

#java #record #lombok #bestpractices
Please open Telegram to view this post
VIEW IN TELEGRAM
👍151🤔1