你真的了解Java中的Instanceof吗?
来源:互联网 发布:大众软件2014电子版 编辑:程序博客网 时间:2024/06/05 21:04
转自 http://blog.csdn.net/iceIcold/article/details/51933359
instanceof 是一个简单的二元操作符, 它是用来判断一个对象是否是一个类实例的
boolean b1 = "Sting" instanceof Object;
b1为true 因为String是Object的子类
boolean b2 = new String() instanceof String;
b2为true
boolean b3 = new Object() instanceof String;
b3为false Object是父类
boolean b4 = 'A' instanceof Character;
编译不通过 ‘A’在此处视为基本数据类型char,instanceof操作符只能用作对象的判断
boolean b5 = null instanceof String;
b5为false 这是instanceof 特 有 的 规 则 : 若左操作数为null, 结果就直接返回false, 不再运算右操作数是什么类。
boolean b6 = (String)null instanceof String;
b6为false 即使类型转换还是个 null
boolean b7 = new Date() instanceof String;
编译不通过 instanceof 操作符的左右操作数必须有继承或实现关系,否则编译出错
boolean b8 = new GenericClass<String>().isDateInstance("");
class GenericClass<T>{
public boolean isDateInstance(T t){
return t instanceof Date;
}
编译通过,b8为false 因为用了泛型,所以字节码的时候T就是Object类型啦,此处t instanceof Date等价于Object instance of Date。
- 你真的了解Java中的Instanceof吗?
- 你真的了解Java中的Instanceof吗?
- 你真的了解Java中的负数?
- 你真的了解Java中的负数?
- 你真的了解JAVA中的main方法吗?
- 你真的了解Java中的interrupt()中断线程吗?
- 你真的了解Java吗?
- 你真的了解.NET中的String吗?
- 你真的了解.NET中的String吗?
- 你真的了解.NET中的String吗?
- 你真的了解.NET中的String吗?
- 你真的了解.NET中的String吗----详解String
- 你真的了解.NET中的String吗?
- 你真的了解.NET中的String吗?
- 你真的了解javascript中的null和undefined吗
- 你真的了解C#中的值和引用吗?
- 你真的了解.NET中的String吗?
- 你真的了解android中的SAX解析吗?
- 一图读懂云计算关键技术——k8s容器管理系统的架构
- 坚持#第236天~Apache之httpd与周五测试
- axure 8.0注册码
- [核心工具] Collections
- Swarm -- 搭建Docker集群
- 你真的了解Java中的Instanceof吗?
- 微信小程序如何通过js操作wxmll的wxss属性
- Redis 安装
- 安装cuDNN-8.0
- 文章标题
- 深入理解 CSS 中的行高与基线及line-height的用法详解
- 17.12.8 学习C语言两个月后的体会
- python 学习之路(字符串的常用操作)
- 使用注解@IntDef替代枚举学习