Sobes.tech
Junior — Middle

Java'da instanceof operatörünün nasıl çalıştığını ve hangi durumlarda kullanıldığını açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Оператор 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());
}

Это позволяет одновременно проверить тип и объявить переменную нужного типа.