我在浏览 Docjar 上的 String
相关文档时,偶然看到了下面这段代码:
public static final Comparator<String> CASE_INSENSITIVE_ORDER
= new CaseInsensitiveComparator();
private static class CaseInsensitiveComparator
implements Comparator<String>, java.io.Serializable {
// use serialVersionUID from JDK 1.2.2 for interoperability
private static final long serialVersionUID = 8575799808933029326L;
public int compare(String s1, String s2) {
// ...
}
}
我的问题是,为什么我们不能像实现Comparable
那样实现Comparator
,并使用私有方法而不是嵌套类呢?
另外,顺便问一句,为什么Comparator
没有一个类似于Comparable
中的单参数方法compareTo
呢?