Что такое ключевое слово instanceof в Java?

Java instanceof - это ключевое слово. Это двоичный оператор, используемый для проверки, является ли объект (экземпляр) подтипом данного типа. Он возвращает либо true, либо false. Он возвращает true, если левая часть выражения является экземпляром имени класса с правой стороны. Instanceof оценивает значение true, если объект принадлежит определенному классу или его суперклассу; else вызывает ошибку компиляции. Если мы применим оператор instanceof с любой переменной с нулевым значением, он вернет false. Это полезно, когда ваша программа может получить информацию о типе времени выполнения для объекта. Ключевое слово instanceof также известно как оператор сравнения типов, поскольку он сравнивает экземпляр с типом.

Синтаксис

Пример

Однако, с Object car = new Car();

В приведенном выше случае он возвращает фальсификацию, потому что автомобиль является супертипом Ford и, возможно, менее «усовершенствованным».

Кроме того, если попробовать ford instanceof Suzuki даже не компилировать! Это потому, что Ford не является подтипом или супертипом Suzuki, и он также не реализует его.

Важно отметить, что переменная, используемая для ford выше, имеет тип Object. Это означает, что instanceof является операцией во время выполнения и приводит нас к прецеденту: реагировать по-разному на основе типа объекта во время выполнения.

В некоторых других случаях ключевое слово instanceof - полезный инструмент, когда у вас есть коллекция объектов, и вы не знаете, что это такое. Например, у вас есть коллекция элементов управления в форме. Вы хотите прочитать проверенное состояние всех флажков, но вы не можете запросить простой старый объект для его проверенного состояния. Вместо этого вы увидите, является ли каждый объект флажком, и если да, установите его в поле и проверьте его свойства.

ключевое слово instanceof и значение null

Если мы применим оператор instanceof с переменной с нулевым значением, она вернет false. Давайте посмотрим пример, приведенный ниже, где мы применяем оператор instanceof с переменной, имеющей нулевое значение.

Выход

ложный

Источник: http://net-informations.com/Java/cJava/instanceof.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector