黑马程序员技术交流社区

标题: Java中==和equal有什么区别呢? [打印本页]

作者: yoomii    时间: 2016-3-27 01:16
标题: Java中==和equal有什么区别呢?
Java中==和equal有什么区别呢?Java中==和equal有什么区别呢?
作者: as9600    时间: 2016-3-27 01:25
要看equal调用的类型以及是否被重写,否则一样
作者: Laopozini123    时间: 2016-3-27 07:38
==可以比较引用数据类型,也可以比较基本数据类型.比较基本数据类型比较的是值,比较引用数据类型的时候比较的是对象的地址值.
equals只能比较引用数据类型,比较的是对象中的值是否相同.
作者: 1294668228    时间: 2016-3-27 16:50
==可以比较基本数据类型和引用数据类型,比较引用数据类型比较的是地址值,equals只能比较引用数据类型,底层是==号实现的,理论上也是比较的地址值,但是一般会重写,用来比较属性值,这样更有意义。
作者: 眯眯神    时间: 2016-3-27 21:25
==怎么比的引用类型,完全不知道啊= =,
作者: 马儿不吃草    时间: 2016-3-27 21:58
==:基本类型比较值,引用类型比较地址值
equals:默认比较的是地址值,重写后比较的是属性
作者: 604840337    时间: 2016-3-27 22:05
== 比较地址值 equals 重写后比较属性
作者: Man_hui    时间: 2016-3-27 22:52
如果没有重写Object类中的equals方法的话,这两者是一样一样的,都是比较地址值,但是很多类中都重写了equals方法的,比如String类,所以你得去看看API中这个类有没有重写equals方法,  而且==可以比较基本类型和引用类型,而equals只能比较引用类型
作者: yoomii    时间: 2016-3-28 22:03
受教了受教了受教了,谢谢各位大牛了。~~{:2_36:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2