Junior — Middle
Meg tudná magyarázni, hogyan működik az instanceof operátor Java-ban, és milyen helyzetekben használják?
sobes.tech MI
Válasz az MI-től
Оператор 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());
}
Это позволяет одновременно проверить тип и объявить переменную нужного типа.