Java1.8 JDK源码中,对两个类进行 按位与 操作是什么意思?

Java容器类库中的Map接口(java\util\Map.java)中有一个Entry接口(java\util\Map.java),其中有几个接口方法用到了类和类的按位与操作,即类和类之间有 & 操作符,后面是一个lambda表达式,如下图:
https://img.mukewang.com/5cb593ba00017dbf08000503.jpg

源码如下:

public static <K extends Comparable<? super K>, V> Comparator<Map.Entry<K,V>> comparingByKey() {

            return (Comparator<Map.Entry<K, V>> & Serializable)

                (c1, c2) -> c1.getKey().compareTo(c2.getKey());

        }

请问:

1)对两个类进行按位与操作时什么意思?

2)Comparator接口(java\util\Comparator.java)有两个未实现方法,一个传入一个参数,一个传入两个参数,该lambda表达式是怎么工作的?只实现了一个方法就可以使用吗?Comparator部分源码如下:


public interface Comparator<T> {

    int compare(T o1, T o2);

    boolean equals(Object obj);

}


慕尼黑8549860
浏览 878回答 2
2回答

幕布斯7119047

这是JAVA8的新语法。类怎么可能按位与
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java