CharSequence 接口在Java 11中获得了一个新的静态方法: compare

此方法返回一个int:

如果两个CharSequence相等,则值为0;否则为0。如果第一个CharSequence在字典上小于第二个,则为负整数;如果第一个CharSequence在字典上大于第二个,则为正整数。

这听起来像 compareTo Comparable 。但是,Java团队显然选择不让CharSequence扩展Comparable。为什么不?逻辑逃避了我。

about关于CharSequence::compare的什么问题不适合Comparable::compareTo

最佳答案

因为 Comparable<CharSequence> 实现了 String CharSequence ,所以添加Comparable<String>实际上并不可行。

有关讨论,请参阅OpenJDK开发人员之一关于此主题的this post

该贴士的提示:格式为 CharSequence::compare 的方法引用将适合作为 Comparator

07-24 19:06
查看更多