Java 8在List接口上引入了一个新的默认方法来对其进行排序.它的签名是:
void sort(Comparator<? super E> c)
文件说:
If the specified comparator is null then all elements in this list
must implement the Comparable interface and the elements’ natural
ordering should be used.
因此,如果您想按照它的自然顺序对列表进行排序(并且您的元素具有可比性),则必须执行list.sort(null);这有点奇怪我的意见.
如果他们使用了Optional,那么doc会说你可以选择提供一个比较器,如果没有提供,它会认为这些元素已经具有可比性.
list.sort(null); call将被转换为list.sort(Optional.empty());.
因为它是一种暴露于外部世界的方法,我会发现它更准确.
他们为什么不使用新的Optional API呢?