`instanceof` 是 Java 语言中的一个关键字,用于测试对象是否为特定类的实例或该类的子类的实例。
语法:
```java
object instanceof ClassName
```
这里 `object` 是要检查的对象,`ClassName` 是类名。如果 `object` 是 `ClassName` 的实例或者是其子类的一个实例,那么表达式的结果为 `true`;否则为 `false`。
举个例子:
假设我们有以下类结构:
```java
class Animal {}
class Dog extends Animal {}
```
如果我们有一个 `Dog` 对象的引用和一个 `Animal` 类型的引用,我们可以使用 `instanceof` 来检查对象类型:
```java
Dog myDog = new Dog();
Animal myAnimal = myDog; // 虽然myDog是Dog的实例,但它是通过Animal类型的引用引用的。
boolean isDog = myDog instanceof Dog; // 这将返回 true,因为myDog确实是Dog的一个实例。
boolean isAnimal = myDog instanceof Animal; // 这也将返回 true,因为Dog是Animal的子类。
boolean isNotCat = myDog instanceof Cat; // 这将返回 false,因为myDog不是Cat的实例。
```
注意:在使用 `instanceof` 时,要确保引用的对象不是 `null`,否则尝试使用 `instanceof` 会抛出 `NullPointerException`。为了避免这种情况,可以先检查对象是否为 `null`,然后再使用 `instanceof`。
标签:
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!