gpt4 book ai didi

java - 什么时候在 Java 中实现 comparable 以及什么时候实现 equals

转载 作者:行者123 更新时间:2023-11-29 09:52:59 24 4
gpt4 key购买 nike

在 Java 中,我应该什么时候实现 Comparable<Something>与实现 equals方法?我每次执行 equals 都明白我还必须实现 hash code .

编辑

根据我得到的答案如下:

可以安全地说,如果我实现 Comparable那么我不需要实现 equalshashCode ?如:无论我能用 equal 完成什么已包含在 compareTo 中?例如,我希望能够比较两个 BST 是否相等。实现 hashCode因为这似乎令人生畏; comparable也是如此够了吗?

最佳答案

如果您只需要比较它们的相等性(或将它们放入实际上相同的 HashMapHashSet 中),您只需要实现 等于哈希码

如果你的对象有一个隐含的顺序并且你打算对它们进行排序(或者将它们放在一个有效排序的 TreeMapTreeSet 中)那么你必须实现 Comparable 或提供一个Comparator

关于java - 什么时候在 Java 中实现 comparable 以及什么时候实现 equals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29948895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com