Встречается на собеседованиях • сегодня

В чем разница между работой с классами в разных версиях Java

Начиная с Java 8 появились значительные изменения в работе с классами: 1. **Лямбда-выражения и функциональные интерфейсы** (Java 8+): ```java List list = Arrays.asList("a", "b", "c"); list.forEach(s -> System.out.println(s)); ``` 2. **Методы по умолчанию в интерфейсах** (Java 8+): ```java interface MyInterface { default void myMethod() { System.out.println("Default implementation"); } } ``` 3. **Записи (Records)** (Java 14+, стабильно с Java 16): ```java record Person(String name, int age) {} // Автоматически генерирует конструктор, геттеры, equals, hashCode, toString ``` 4. **Sealed-классы** (Java 15+, стабильно с Java 17): ```java public sealed class Shape permits Circle, Square {} ``` 5. **Pattern Matching для instanceof** (Java 16+): ```java if (obj instanceof String s) { System.out.println(s.length()); } ``` 6. **Классы-обертки получили кэширование** (Java 5+): ```java Integer a = 127; Integer b = 127; System.out.println(a == b); // true из-за кэширования ``` 7. **Модульная система** (Java 9+) с `module-info.java` Основной тренд - уменьшение шаблонного кода и улучшение читаемости.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы