instanceof运算符

本文详细介绍了Java中instanceof运算符的工作原理及其在实际编程中的应用。文章解释了为何当左操作数为null时,instanceof总是返回false,这对于避免运行时异常至关重要。此外,还探讨了合法使用instanceof的条件,例如要求两个操作数之一必须是另一个的子类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// instanceof运算符:
//尽管null 对于每一个引用类型来说都是其子类型,但是instanceof 操作符被定义为在其左操作数为null
//时返回false。这被证明是实践中非常有用的行为。如果instanceof 告诉你一个对象引用是某个特定类
//型的实例,那么你就可以将其转型为该类型,并调用该类型的方法,而不用担心会抛出
//ClassCastException 或NullPointerException 异常。
//instanceof 操作符有这样的要求:如果两个操作数的类型都是类,其中一个必须是另一个的子类型。
//所以,new ArrayList() instanceof String是非法的。
String str = null;
System.out.println(str instanceof String);  
//编译错误:  
//System.out.println(new ArrayList() instanceof String); 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值