==和equals区别
作者:
allsunny | 来源:发表于
2020-10-20 15:37 被阅读0次
- 基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。
- 复合数据类型(类),当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址。
- "=="是比较两个引用是否指向堆内存里的同一个地址(同一个对象),而equals是一个普通的方法,该方法返回的结果依赖于自身的实现。
- JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地址(==),
- 但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。
参考:https://zhuanlan.zhihu.com/p/27573287
本文标题:==和equals区别
本文链接:https://www.haomeiwen.com/subject/fyydmktx.html
网友评论