❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁35🤣14👍3🔥2
record — это специальный тип классов, добавленный в Java 14+, предназначенный для хранения неизменяемых данных. Они автоматически создают конструктор, геттеры, toString(), equals() и hashCode().• Отлично подходят для DTO (data transfer objects)
• Не нужно вручную писать шаблонный код
• Все поля по умолчанию
private finalpublic record User(String name, int age) {}
public class Main {
public static void main(String[] args) {
User u = new User("Анна", 30);
System.out.println(u.name()); // Анна
System.out.println(u.age()); // 30
System.out.println(u); // User[name=Анна, age=30]
}
}record помогает писать меньше кода, делает объекты неизменяемыми и особенно полезен в REST-сервисах, логике сериализации и работы с конфигурацией.Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍8🔥5⚡2
Покажу, как улучшить поиск на Spring Data Elasticsearch: учтём опечатки, склонения и редкие слова, чтобы находить больше нужного. Всё на реальных примерах из моей практики.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36❤12
sealed — это специальный механизм, добавленный в Java 17+, который позволяет ограничить, какие классы могут наследовать данный класс или реализовать интерфейс. Это даёт больше контроля над иерархией типов и повышает безопасность кода.
• Позволяет явно задать допустимых наследников
• Помогает компилятору лучше оптимизировать код
• Упрощает сопровождение больших систем
public sealed class Vehicle permits Car, Truck {}
public final class Car extends Vehicle {}
public final class Truck extends Vehicle {}
public class Main {
public static void main(String[] args) {
Vehicle v = new Car();
System.out.println(v instanceof Vehicle); // true
System.out.println(v instanceof Car); // true
}
}👀 sealed-классы особенно полезны при проектировании API, бизнес-логики и систем с чётко ограниченными вариантами состояний — например, обработка разных типов сообщений, событий или команд.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4
В статье объясняют, как вместо проверки конкретных данных тестировать их свойства, зачем это нужно, как помогает Jqwik для Java и где пригодится на практике.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣37👍6
switch-выражения — это улучшенная форма классического
switch, добавленная в Java 14+. Она позволяет возвращать значение из switch, использовать стрелочную форму (->) и исключает ошибки с fall-through.• Позволяет возвращать результат напрямую
• Меньше шаблонного кода
• Безопаснее: все пути должны быть покрыты
public class Main {
public static void main(String[] args) {
String role = "admin";
int accessLevel = switch (role) {
case "admin" -> 3;
case "manager" -> 2;
case "user" -> 1;
default -> 0;
};
System.out.println("Access level: " + accessLevel); // ➔ 3
}
}👀 switch-выражения делают код компактнее, безопаснее и более выразительным. Особенно полезны в REST-контроллерах, конфигурациях и обработке enum/строковых значений.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍6🔥1