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

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

我感兴趣的部分是: return (Comparator & Serializable)

谢谢你的帮助!

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

请注意,在执行此类转换时,您只能指定一个类(以及无限量的接口),因为类不可能从多个超类inheritance。