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
В статье Java-лид из финтеха делится 7 дикими кейсами из интеграционных проектов — требования, от которых или ржёшь, или страдаешь. Всё по-честному и с любовью к коллегам.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Ответ:
Anonymous Quiz
24%
Static block, x = 10
36%
Static block, x = 5
10%
x = 5, Static block
29%
Ошибка выполнения
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26👍11🤔5
Text blocks — это новая форма строковых литералов, добавленная в Java 13+, которая позволяет удобно писать многострочные строки с минимальным количеством управляющих символов.
Это особенно полезно при работе с JSON, XML или SQL.
• Улучшают читаемость кода
• Избавляют от лишних символов экранирования
• Поддерживают автоматическое форматирование
public class Main {
public static void main(String[] args) {
String json = """
{
"name": "Alice",
"age": 30,
"city": "New York"
}
""";
System.out.println(json);
}
}👀 Text blocks упрощают создание длинных строковых шаблонов, снижают вероятность ошибок форматирования и делают код более аккуратным. Особенно полезны при работе с данными, логами и шаблонами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥8
В статье показывают, как реализовать денежные переводы в SQL с учётом изоляции транзакций: простая задача превращается в боль при параллельном доступе. Без дедлоков не обошлось.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4👍1