Назад к вопросам
Junior — Middle
65
Можете объяснить, как работает оператор instanceof в Java и в каких ситуациях его используют?
Ответ от нейросети
sobes.tech AI
Оператор instanceof в Java используется для проверки, является ли объект экземпляром определённого класса или реализует ли он определённый интерфейс.
Пример использования:
if (obj instanceof String) {
String str = (String) obj;
System.out.println("Это строка длиной " + str.length());
}
Здесь проверяется, что obj — это объект класса String. Если условие истинно, можно безопасно привести тип и работать с объектом как со строкой.
Основные ситуации использования:
- Проверка типа объекта перед приведением типа (кастом), чтобы избежать
ClassCastException. - В полиморфных структурах для определения конкретного типа объекта.
- При реализации логики, зависящей от типа объекта.
Начиная с Java 14, появился pattern matching для instanceof, который упрощает код:
if (obj instanceof String str) {
System.out.println("Длина строки: " + str.length());
}
Это позволяет одновременно проверить тип и объявить переменную нужного типа.