社区
Java
帖子详情
请问两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
MarsZ
2012-02-18 07:28:24
如题,这个面试题我在很多地方看到不同的答案了,有说可有不同的hash code的 http://zhidao.baidu.com/question/121320206.html ,有说hashcode一定相同的(http://baike.baidu.com/view/551991.htm)
请问到底对不对啊???给强力理由。。
...全文
73
2
打赏
收藏
请问两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
如题,这个面试题我在很多地方看到不同的答案了,有说可有不同的hash code的 http://zhidao.baidu.com/question/121320206.html ,有说hashcode一定相同的(http://baike.baidu.com/view/551991.htm) 请问到底对不对啊???给强力理由。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MarsZ
2012-02-18
打赏
举报
回复
好吧[Quote=引用 1 楼 ldh911 的回复:]
视环境情况而定。
因为 hashCode() 和 equals() 这两个函数都是可以自定义的,你完全可以写出一个equals函数相等的情况下hashCode()却完全不一样的类,有啥不可以呢?
YD点甚至可以 public int hashCode() { return new Random().next();}
但是我们经常强调要遵循约定俗成,否则可能让别人很晕,甚至让自……
[/Quote]
MiceRice
2012-02-18
打赏
举报
回复
视环境情况而定。
因为 hashCode() 和 equals() 这两个函数都是可以自定义的,你完全可以写出一个equals函数相等的情况下hashCode()却完全不一样的类,有啥不可以呢?
YD点甚至可以 public int hashCode() { return new Random().next();}
但是我们经常强调要遵循约定俗成,否则可能让别人很晕,甚至让自己的程序很奇怪。
如果基于这个考虑的话:equals()的对象值,hashCode()应该要相等。
Java - 两个
对象
值
相同
(x.
equals
(y) ==
true
),但却可以有
不同
的
hash
code
,这句
话
对
不对
?
不对
,如果两个
对象
x和y满足x.
equals
(y) ==
true
,它们的哈希码(
hash
code
)应当
相同
。Java对于eqauls方法和
hash
Code
方法是这样规定的: (1)如果两个
对象
相同
(
equals
方法返回
true
),那么它们的h...
【Java面试题】两个
对象
值
相同
(x.
equals
(y) ==
true
),但却可有
不同
的
hash
Code
,这句
话
对
不对
?
Java面试题:两个
对象
值
相同
(x.
equals
(y) ==
true
),但却可有
不同
的
hash
Code
,这句
话
对
不对
呢? 答案是:
不对
的 如果两个
对象
x.
equals
(y) ==
true
,那么它们的
hash
Code
应该
相同
。 java对
equals
方法 是这样规定的...
两个
对象
值
相同
(x.
equals
(y) ==
true
),但却可有
不同
的
hash
code
,这句
话
对
不对
?
不对
,如果两个
对象
x和y满足x.
equals
(y) ==
true
,它们的哈希码(
hash
code
)应当
相同
。Java对于eqauls方法和
hash
Code
方法是这样规定的:(1)如果两个
对象
相同
(
equals
方法返回
true
),那么它们的
hash
Code
值
一定要...
面试题:两个
对象
值
相同
(x.
equals
(y) ==
true
),但却可有
不同
的
hash
code
,这句
话
对
不对
?
两个
对象
值
相同
(x.
equals
(y) ==
true
),但却可有
不同
的
hash
code
,这句
话
对
不对
? 对。如果是String等类的
话
,必须有
相同
的
hash
code
; 但若是这个类重写了
hash
code
方法和
equals
方法时,则可以有
不同
的
hash
code
。 ...
10.两个
对象
值
相同
(x.
equals
(y) ==
true
),但却可有
不同
的
hash
code
,这句
话
对
不对
?
不对
,如果两个
对象
x 和 y 满足 x.
equals
(y) ==
true
,它们的哈希码 (
hash
code
)应当
相同
。Java 对于 eqauls 方法和
hash
Code
方法是这样 规定的:(1)如果两个
对象
相同
(
equals
方法返回
true
),那么它们的 ...
Java
50,542
社区成员
85,619
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章