一篇解释 Java关键字——instanceof 的文章

instanceof关键字

java的保留关键字,双目运算符,
用于判断
instanceof前面的对象是否是instanceof后面的类的对象、
或者instanceof前面的对象是否是instanceof后面的类的子类对象(判断子父类的所属关系)、
或者instanceof前面的对象是否是instanceof后面的接口的实现类的实例。
返回值为Boolean类型。

用法:

boolean result = object instanceof Class;

说明:
如果 objectClass的一个实例,则instanceof返回值为 true 。
如果 object不是 Class的一个实例 或 object 的值为 Null ,则instanceof返回值为 false 。

用法 代码示例

  1. instanceof 运算符只能用作对象的判断,因此object 必须为引用类型。
    在编译阶段,编译器会自动检查object 对象是否能转换为右边的class类型。如果不能转化,会提示报错。
int i = 0 ; 
boolean  result = i instanceof Interger;
//编译不通过
  1. 在 JavaSE规范 中对 instanceof 运算符的规定:如果 object 为 Null ,那么将返回 false。
boolean result = null instanceof Interger;
//返回值 false
  1. objectClass的一个实例。
//1. object是class类的实例对象
Interger i = new Interger(1);
boolean  result = i instanceof Interger;
//返回值 true
//2.object是class类的子类
Class Animal{...}
Class Dog extends Animal{...}
main(){
	Animal a = new Animal();
	Animal a_d = new Dog();
	Dog d = new Dog();
	boolean  result1 = a instanceof Dog;
	boolean  result2 = a_d instanceof Dog;
	boolean  result3 = d instanceof Dog;
	//返回值false  true  true
}
//3. object 是class接口的实现类
List list = new ArrayList();
boolean  result = list instanceof List;
//返回值 true
  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值