Back to questions
Junior — Middle
103
Опиши новые функции, введённые в версиях Java 15 и Java 17
Answer from AI
sobes.tech AI
В Java 15 и Java 17 были введены несколько важных функций и улучшений:
Java 15:
- Records (preview) — компактный способ описания неизменяемых классов с автоматической генерацией методов
equals(),hashCode(),toString(). - Sealed Classes (preview) — позволяют ограничить иерархию наследования, задавая, какие классы могут наследовать данный класс.
- Text Blocks — многострочные строковые литералы, упрощающие работу с многострочным текстом.
- Улучшения в Garbage Collector (например, ZGC стал более производительным).
Java 17 (LTS):
- Sealed Classes (стабильные) — окончательное введение запечатанных классов.
- Pattern Matching для instanceof — упрощает проверку и приведение типов.
- Strongly Encapsulate JDK Internals — усилена инкапсуляция внутренних API.
- Улучшения в производительности и безопасности.
Пример использования Records (Java 16+):
public record Point(int x, int y) {}
Point p = new Point(1, 2);
System.out.println(p.x()); // 1
Это позволяет быстро создавать классы с неизменяемыми полями без лишнего шаблонного кода.