首页 新闻 会员 周边 捐助

Obejct 类型==操作符

0
悬赏园豆:10 [已关闭问题] 关闭于 2012-11-07 23:07

Object 的“==”内部是怎么实现的,为什么两个对象hashCode相同但“==”不同。

问题补充:

上面的代码是在站点工程中,把这个方法单独拿出来用控制台应用程序测试如下:

是不是和两种运行环境有关?

MasterWei的主页 MasterWei | 菜鸟二级 | 园豆:223
提问于:2012-08-21 10:50
< >
分享
所有回答(2)
0

==比较对象

 

Equals比较内容

何潮 | 园豆:228 (菜鸟二级) | 2012-08-21 17:57

我想问的是为什么两次使用“==”比较两个对象,结果却不一样。

支持(0) 反对(0) MasterWei | 园豆:223 (菜鸟二级) | 2012-08-21 22:17

@MasterWei: 这个可能与你的参数有关吧,你调用的参数是怎样设置的?

支持(0) 反对(0) 何潮 | 园豆:228 (菜鸟二级) | 2012-08-22 11:40

@MasterWei: 

ReferenceEquals()比较的是引用(地址),Equals比较的是值(无值则取HashCode),而==是折中方法;

对于普通对象,==默认对值类型取值,对引用类型比引用。估计在下面控制台那里参数传的是同一个对象。

支持(0) 反对(0) Indream Luo | 园豆:315 (菜鸟二级) | 2012-08-23 15:05
0

Equals

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-08-22 10:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册