instanceof是Java的保留关键字,左边是对象,右边是
,返回boolean数据;
作用:判断左边对象是否是右边类的实例;
说明:类的实例包含本身的实例,以及所有直接或间接子类的实例;
当对象是右边类或子类所创建对象时,返回true;否则,返回false;
instanceof左边显式声明的类型与右边操作元必须是同种类或存在继承关系,也就是说需要位于同一个继承树,否则会编译错误
instanceof用法:
注意:
- 左边的对象实例不能是基础数据类型(基础数据类型必须用包装类)
- 左边的对象实例和右边的类必须在同一个继承树上
- null用instanceof跟任何类型比较时都是false
示例:
public void getResult {
String s = " hello";
int [ ] a = {1,2};
if(s instanceof String)
System.out.println("true");
if(s instanceof Object)
System.out.println("true");
if(a instanceof int[])
System.out.println("true");
}
运行结果:
true
true
true