黑马程序员技术交流社区

标题: 比较两个值是否相等时候何时用==何时用equal方法 [打印本页]

作者: 情歌°    时间: 2014-5-31 21:31
标题: 比较两个值是否相等时候何时用==何时用equal方法
本帖最后由 情歌° 于 2014-6-2 22:08 编辑

请问本质上==和equal方法的区别是什么?
作者: xcdhr123    时间: 2014-5-31 22:12
equal是对变量或常量的值进行比较。比的是内容。 ==比的是2个变量或常量的地址值。
作者: 情歌°    时间: 2014-5-31 22:44
xcdhr123 发表于 2014-5-31 22:12
equal是对变量或常量的值进行比较。比的是内容。 ==比的是2个变量或常量的地址值。 ...

如果两个量的地址值一样 值能不一样吗?
作者: 茂子    时间: 2014-5-31 23:09
我也表示发同问,有点搞不清楚这两个究竟比较的是什么。。。
作者: 满面春风    时间: 2014-5-31 23:41
前者比较的是两边的值是否相等,后者比较的是两者在内存中的地址是否一样
作者: 饥渴ing    时间: 2014-5-31 23:56
晕地址一样代表是同一个对象引用。自己比较自己肯定是true啊。建议楼主去看下object类的equals和hashcode方法的说明(常规协定)
作者: KevinSmart    时间: 2014-6-1 20:03
==是比较两个对象的地址,一般是基本类型或者对象,equal可以重写,自己定义
作者: liang090214    时间: 2014-6-1 20:32
楼上已经很详细了。
作者: 情歌°    时间: 2014-6-1 21:53
KevinSmart 发表于 2014-6-1 20:03
==是比较两个对象的地址,一般是基本类型或者对象,equal可以重写,自己定义 ...

今天差了点资料 看了大家的回复 多少明白点了 谢了 请问这个主题怎么改成提问结束?
作者: xcdhr123    时间: 2014-6-1 23:18
情歌° 发表于 2014-5-31 22:44
如果两个量的地址值一样 值能不一样吗?

地址一样,在同一个位置应该是一样的吧???
作者: 支胜勇    时间: 2014-6-1 23:30
==引用比较,equal是值比较
作者: 凝霜的枯藤    时间: 2014-6-2 09:48
看一看!!
作者: KevinSmart    时间: 2014-6-2 10:07
帖子的上方会有个编辑帖子,里面有提问结束这一项




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