黑马程序员技术交流社区

标题: 运算符==和equals方法之间的区别,还有什么 [打印本页]

作者: ╭月牙湾湾╮    时间: 2014-6-12 02:38
标题: 运算符==和equals方法之间的区别,还有什么
本帖最后由 ╭月牙湾湾╮ 于 2014-6-12 13:53 编辑

==可以比较两个基本数据类型的值是否相等equals方法可以比较两个对象的哈希值是否一致


作者: 阿布Yocan    时间: 2014-6-12 07:31
"=="比较两个对象是不是引用自同一个对象
"equals"比较两个对象的内容
作者: 飘渺≮★耘    时间: 2014-6-12 09:19
==比较对象的地址,equals比较对象的内容
作者: 黑子    时间: 2014-6-12 09:22
"== " 是运算符,思想是基于过程的,equals是对象功能调用思想是面向对象了。
作者: 喜爱    时间: 2014-6-12 09:39
对于“==”是比较两个对象的地址或是两个基本数据的值是否相等。
而equals方法是定义在Object当中,该方法也是比较两个对象的地址是否相同,每个类都有这样的方法,如果该子类没有覆盖这个equals方法,该就是比较地址值,如果覆盖了,就有子类特有的比较方式了,而不能简单的说equals方法是比较内容的。当然equals方法使用最多就是String对象了,在String当中是比较内容是否相同,因为String类覆盖了equals方法。
作者: Moonboy2014    时间: 2014-6-12 09:39
“==”判断的是内存中的地址值是否相同,即二者是否引用的同一个对象,而eqauls则是表两者对象内容是相同,两者有可以互换的情况
作者: 为爱编程    时间: 2014-6-12 09:57
黑马新手,望广大马友支持
作者: ╭月牙湾湾╮    时间: 2014-6-12 13:51
喜爱 发表于 2014-6-12 09:39
对于“==”是比较两个对象的地址或是两个基本数据的值是否相等。
而equals方法是定义在Object当中,该方法 ...

我明白了,谢谢你的回答。




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