HashSet似乎没有意识到两个对象是相同的。

HashSet似乎没有意识到两个对象是相同的。,第1张

HashSet似乎没有意识到两个对象是相同的。

您需要重写该类中的

Object#hashCode()
方法,
Move
以使其
hashCode()
Move
实例状态返回相同的值。不要忘记也要覆盖
Object#equals()

也可以看看:
  • 在Java中覆盖equals和hashCode

提示 :如果您使用的是类似Eclipse的IDE
,则还可以自动生成它们。右键单击

Move
该类的某个位置,选择“ 源” >“生成hashCode()和equals()”。如下所示:

@Overridepublic int hashCode() {    final int prime = 31;    int result = 1;    result = prime * result + move1;    result = prime * result + move2;    return result;}@Overridepublic boolean equals(Object obj) {    if (this == obj)        return true;    if (obj == null)        return false;    if (getClass() != obj.getClass())        return false;    Move other = (Move) obj;    if (move1 != other.move1)        return false;    if (move2 != other.move2)        return false;    return true;}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5564930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存