1、instanceof说明
- instanceof 是 Java 的保留关键字。
- 作用是:测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。
- instanceof是Java中的二元运算符,左边是对象,右边是类;当对象是右边类或子类所创建对象时,返回true;否则,返回false。
- 说明下:类的实例包含本身的实例,以及所有直接或间接子类的实例
- instanceof左边显式声明的类型与右边操作元必须是同种类或存在继承关系,也就是说需要位于同一个继承树,否则会编译错误
2、instanceof用法
2.1、左边的对象实例不能是基础数据类型
2.2、左边的对象实例和右边的类不在同一个继承树上
2.3、 null用instanceof跟任何类型比较时都是false
3、instanceof应用场景
instanceof一般用于对象类型强制转换
public class C extends B {
private void print(Object a) {
System.out.println(a+" instanceof");
}
public void convert(String b) {
if (b instanceof Object) {
this.print(b);
}
}
}
public class InstanceofTest4 {
public static void main(String[] args) {
C c = new C();
c.convert("aa");
}
}
输出结果:
aa instanceof
应用示例
if (bookInfoList instanceof Page) {
return ProductInfoServiceUtil.buildPageVo(bookInfoList);
}
return ProductInfoServiceUtil.buildListVo(bookInfoList);