Java getClass() VS instanceof VS ==
Java getClass()
VS instanceof
VS ==
含义
getClass()
返回调用对象object
的运行时类(runtime class
),一个Class
实例。a instanceof T
返回a
是否是T
类型的实例或者T
类型的子类型的实例a == b
判断a
和b
引用的是否是同一个对象
区分
getClass()
的文档介绍如下:
Returns the runtime class of this Object.
The returned Class object is the object that is locked by static synchronized methods of the represented class.
The returned Class object is the object that is locked by static synchronized methods of the represented class
这句话的意思是在说明一个事实:
T.class = a.getClass()
返回的Class
对象是该对象(Class
对象)表示的类中的静态同步方法锁住的那个对象。
java
中当同步关键字加在静态方法前面,当某个线程进入该方法时,必须是已经获得了该类对象(T.class
)的锁。
下面两个写法效果相同:
- 1
public static synchronized void foo() {
}
- 2
public static void foo() {synchronized(T.class) {}
}
另外,java
中的同步关键字的加锁粒度一般发生在普通对象和类对象上,封锁范围一般可以是代码块、一个方法、整个类的所有方法等。
instanceof
是一个操作符,返回值是false
或true
。
instanceof
不仅可以判断对象是否是某个类T
或其子类的实例,还可以判断是否是某个接口I
或其子接口I
的实现类的实例。
==
操作符是判断两个引用对应的对象是否是同一个。
equal()
方法是自定义的判断的两个引用对应的对象是否逻辑相等。
转载于:https://www.cnblogs.com/Spground/p/8536147.html
Java getClass() VS instanceof VS ==相关推荐
- java equals getclass_Java equals()方法 – 子类中equals的语义如何确定getClass和instanceof的使用...
我是Java编程的初学者.目前我在this页面上阅读有关继承和等于方法的内容. 直到这一点,我理解这些解释: Compare the classes of this and otherObject. ...
- Java中的instanceof关键字
Java中的instanceof关键字 instanceof是Java的一个二元操作符,和==,>,<是同一类东东.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是测试它左边 ...
- java中的instanceof的用法
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法: re ...
- 在Java里面使用instanceof的性能影响
问题:在Java里面使用instanceof的性能影响 我正在写一个应用程序,其中一种设计方案包含了instanceof操作的大量使用.虽然我知道面向对象设计通常试图避免使用instanceof,但那 ...
- java 中的instanceof
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法: res ...
- Java 面向对象:instanceof和类型转换的理解
Java 面向对象:instanceof和类型转换的理解 一.instanceof 1.定义: instanceof A 判断一个引用所指向的对象,是否是A类型,或者A的子类 instanceof 的 ...
- Java中的Instanceof
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例. 用法:res ...
- 在Java中使用instanceof的性能影响
本文翻译自:The performance impact of using instanceof in Java I am working on an application and one desi ...
- Java中isAssignableFrom,instanceof
2019独角兽企业重金招聘Python工程师标准>>> isAssignableFrom 示例:Class1.isAssignableFrom(Class2) 解释:① 判断Clas ...
最新文章
- 对python3中pathlib库的Path类的使用详解
- VTK一个面向对象的可视化类库
- java.lang.unsatisfiedlinkerror:_java.lang.UnsatisfiedLinkError: 的问题
- 我的学习之路_第二章_接口/多态
- git 大文件报错Out of memory, malloc failed、 The remote end hung up unexpectedly
- Linux netfilter源码分析(6)
- Linux core文件生成及设置 查看core文件由哪个程序生成的
- C++ 解决大数运算(大数加法,大数幂运算,大数求余)
- 运动型蓝牙耳机什么牌子好、最适合运动的耳机
- 得洲奥斯汀研究生计算机专业排名,德克萨斯大学奥斯汀分校有计算机工程专业排名...
- iPhone指环贴:你手机的防盗专家
- 遍历读取文件夹下的所有文件
- 通过 Land of Lisp 中的超简短字符游戏例程学习 loop 和 format
- 聚合支付码 一码支付的大时代到来
- 邯郸学院计算机专业就业怎么样,邯郸学院好就业吗?附邯郸学院就业率最高的专业名单...
- C# winform 关于treeView控件的实战
- rtmp直播推流 app-livestream v0.0.1.002 发布
- 一张图告诉你,如何攻击Java Web应用
- R ggplot图例的调整
- Jenkins+Git+python+Pgyer Android打包发布实践