CharSequence接口在Java11中获得了一种新的静态方法:compare。
此方法返回一个int:
如果两个CharSequence相等,则值0;如果第一个CharSequence按字典顺序小于第二个,则为负整数;如果第一个CharSequence大于第二个CharSequence,则为一个正整数。
这听起来就像compareTo of Comparable。然而,Java显然选择不让CharSequence扩展Comparable。为什么不行?这种逻辑让我无法理解。
CharSequence::compare有什么不适合Comparable::compareTo的?
发布于 2019-05-24 21:21:32
添加Comparable<CharSequence>并不能真正工作,因为String实现了CharSequence和Comparable。
有关该主题的讨论,请参见这个职位开发人员之一的OpenJDK。
那篇文章中的提示:表单CharSequence::compare的方法引用适合作为Comparator。
https://stackoverflow.com/questions/56299602
复制相似问题