public static <T, U extends Comparable<? super U>> Comparator<T> comparing(
        Function<? super T, ? extends U> keyExtractor)
{
    Objects.requireNonNull(keyExtractor);
    return (Comparator<T> & Serializable)
        (c1, c2) -> keyExtractor.apply(c1).compareTo(keyExtractor.apply(c2));
}

我感兴趣的部分是:return (Comparator<T> & Serializable)
谢谢你的帮助!

最佳答案

这意味着结果值将被转换为Comparator Serializable(即可序列化的比较器)

请注意,在进行此类转换时,您只能指定一个类(以及无限数量的接口(interface)),因为一个类不可能从一个以上的父类(super class)继承。

10-04 13:46