Для чего нужно ключевое слово instanceof в Java?

«Для чего нужно ключевое слово instanceof в Java?» — вопрос из категории Java, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Ключевое слово instanceof в Java используется для проверки, является ли объект экземпляром определенного класса или интерфейса. Возвращает true, если объект принадлежит указанному типу, иначе false.

Пример:

Object obj = "Hello";
if (obj instanceof String) {
    System.out.println("obj is a String");
}

Нюансы:

  • Работает с наследованием: если объект — подкласс, проверка вернет true.
  • Нельзя использовать с примитивами.
  • В Java 16+ можно использовать в сочетании с паттерн-матчингом:
if (obj instanceof String s) {
    System.out.println(s.length());
}