gpt4 book ai didi

java - 为什么我们不能在每种情况下都只使用可比较的?

转载 作者:行者123 更新时间:2023-12-01 12:32:56 25 4
gpt4 key购买 nike

可能重复

When should a class be Comparable and/or Comparator?

我了解此链接中给出的差异。
而且在我引用的书中也提到,当我们需要根据多个字段对对象进行排序时,我们不能使用可比较。

我的问题:

我只是想要一个例子,其中我们不可能使用可比较的并且必须使用比较器才能进行比较,并且还请说明使用可比较为什么我们不能在对象的两个不同字段上进行比较。如果您发现这个问题重复,请提供链接,我搜索了很多问题,但没有一个有我想要的示例。

最佳答案

如果一个类实现了Comparable,则定义了通常被认为是其元素的自然排序。在某些情况下,这是唯一可能有意义的排序,在其他情况下,它可能是最广泛使用的排序。例如,如果您查看数字,可能只有一种(全部)排序是有意义的(除了可能采取相反的顺序)。正如其他人已经指出的那样,它们是具有其他有用顺序的其他对象。主要排序的依据是什么(或者是否有)取决于您的应用程序。如果您在应用程序中管理具有地址的人员,则电话簿排序顺序可以被视为自然顺序(如果这是使用最广泛的顺序),而按年龄排序可能是次要的。稍微有点过时:请注意不相等的对象被认为与排序相等的情况,这可能会导致 OrderedList 等容器出现问题。

关于java - 为什么我们不能在每种情况下都只使用可比较的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25800918/

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