Java 通过逐位运算确定返回类型

Java 通过逐位运算确定返回类型,java,generics,Java,Generics,我在java文档中徘徊,突然发现以下代码: public static <T, U extends Comparable<? super U>> Comparator<T> comparing( Function<? super T, ? extends U> keyExtractor) { Objects.requireNonNull(keyExtractor); return (Comparator<T&g

我在java文档中徘徊,突然发现以下代码:

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));
}

publicstaticjava8增加了将lambda强制转换为匿名交集的功能。
返回类型既为
比较器
也为
可序列化

引用自:答案

注: Java有时会向运算符添加新的语法含义,以保持向后兼容性

这不是“按位”,不能应用