Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvOpIhPI 43 of 147 menu
◀ ▶

Pattern matching в instanceof в Java

В современных версия Java оператор instanceof умеет не только проверять тип, но и сразу вводить переменную с уже суженным типом. Это избавляет от лишнего приведения внутри ветки if.

Проверка и объявление переменной в одном условии:

class Post { } class Article extends Post { public int getViews() { return 10; } }

Создадим Article и прочитаем просмотры через шаблон instanceof:

Post post = new Article(); if (post instanceof Article article) { System.out.println(article.getViews()); }

Если проверка не прошла, переменная из образца недоступна. Для родительской ссылки на Post ветка с Article не выполнится:

public class Main { public static void main(String[] args) { Post post = new Post(); if (post instanceof Article article) { System.out.println(article.getViews()); } else { System.out.println("not an article"); } } }

Напишите метод, который принимает User и выводит зарплату, если аргумент - объект Employee.

Используйте сопоставление с образцом в instanceof.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить