Раньше после проверки приходилось делать отдельный cast:
if (animal instanceof Dog) {
Dog d = (Dog) animal;
d.bark();
}
🔵 Начиная с Java 16 переменную можно объявить прямо в условии:
if (animal instanceof Dog d) {
d.bark();
}
d уже имеет тип Dog и доступна внутри ветки, где проверка успешна.
🔵 Можно сразу проверять несколько типов:
if (animal instanceof Dog d) {
d.bark();
} else if (animal instanceof Cat c) {
c.meow();
}
📌 Меньше явных cast’ов — меньше лишнего кода и проще читать условие.
══════ Навигация ══════
Вакансии • Задачи • Собесы
🐸 Библиотека джависта
#CoreJava