'&'的含义是什么?返回值中的字符?

时间:2015-05-21 12:40:17

标签: java generics

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)

感谢您的帮助!

1 个答案:

答案 0 :(得分:13)

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

请注意,在进行此类广告投放时,您可以指定一个类(以及无限量的接口),因为类不可能从多个超级班继承。