instanceof
是 Java 中的一个关键字,用于检查一个对象是否是指定类或其子类的实例,或者是否实现了某个接口。它返回一个布尔值:如果对象是指定类型或其子类型的实例,则返回 true
,否则返回 false
。
语法
object instanceof Class/Interface
作用
- 类型检查:用于判断对象是否为某个类或其子类的实例。
- 接口检查:用于判断对象是否实现了某个接口。
- 避免类型转换异常:在进行类型转换前,通常会用
instanceof
进行检查,以防止ClassCastException
。
示例
class Animal {}
class Dog extends Animal {}
public class Main {
public static void main(String[] args) {
Animal myDog = new Dog();
// 检查 myDog 是否是 Dog 类的实例
if (myDog instanceof Dog) {
System.out.println("myDog 是 Dog 类的实例");
}
// 检查 myDog 是否是 Animal 类的实例
if (myDog instanceof Animal) {
System.out.println("myDog 是 Animal 类的实例");
}
// 检查 myDog 是否是 Object 类的实例
if (myDog instanceof Object) {
System.out.println("myDog 是 Object 类的实例");
}
}
}
输出
myDog 是 Dog 类的实例
myDog 是 Animal 类的实例
myDog 是 Object 类的实例
注意事项
instanceof
不能用于基本数据类型。- 如果对象为
null
,instanceof
会返回false
,因为null
不是任何类型的实例。
总结
instanceof
是 Java 中用于类型检查的重要工具,常用于确保类型转换的安全性。
THE END
暂无评论内容