gpt4 book ai didi

Java : Comparable vs Comparator

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

Possible Duplicates:
difference between compare() and compareTo()
Java: What is the difference between implementing Comparable and Comparator?

Comparable 和 Comparator 之间的主要区别是什么。

在什么情况下哪个比另一个更受青睐?

谢谢

已更新 - 带有示例的良好链接!!

http://www.digizol.com/2008/07/java-sorting-comparator-vs-comparable.html

最佳答案

当你的类实现Comparable时,该类的 compareTo 方法定义该对象的“自然”顺序。根据契约(Contract)规定,该方法有义务(尽管不是强制要求)与该对象上的其他方法保持一致,例如当 .equals() 比较返回 true 时,应该始终为对象返回 0。

一个Comparator是它自己对如何比较两个对象的定义,可用于以可能不符合自然顺序的方式比较对象。

例如,字符串通常按字母顺序进行比较。因此,"a".compareTo("b") 将使用字母顺序比较。如果您想比较字符串的长度,您需要编写一个自定义比较器。

总而言之,没有太大区别。它们的目的都是相似的。一般来说,实现自然顺序的可比较(自然顺序定义显然可以解释),并为其他排序或比较需求编写比较器。

关于Java : Comparable vs Comparator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59867469/

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