Sobes.tech
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

Это позволяет быстро создавать классы с неизменяемыми полями без лишнего шаблонного кода.