为什么String实现Comparable而不是Comparator接口

时间:2016-08-23 02:09:09

标签: java string comparator comparable

在一次采访中询问了这个问题。问题是为什么Strin g和其他包装类实现Comparable而不是Comparator接口。我试图解释Comparator基本上是提供自定义排序,Comparable是默认的自然排序顺序。同样从设计原则的角度来看,Comparable是紧密耦合的,Comparator是松散耦合的。但是,我无法澄清String实施Comparable而不是Comparator的原因。

1 个答案:

答案 0 :(得分:3)

字符串实现Comparable,因为它们是可以比较的内容。一般来说,实现Comparable的事情往往具有自然顺序,就像你提到的那样。

Comparator是一种比较事物的方式。制作比较器时,您需要定义一种比较事物的方法。您可以在给定类型上制作许多比较器,以不同方式比较事物。