文章详情页
java8中,逻辑与 & 符号用在接口类上代表什么意思
浏览:61日期:2023-12-16 16:05:46
问题描述
最近在读lambda表达式相关的java源码,在Comparator的静态方法里发现有不少这种类似的写法
java.util.Comparator... public static <T> Comparator<T> comparingInt(ToIntFunction<? super T> keyExtractor) {Objects.requireNonNull(keyExtractor);return (Comparator<T> & Serializable) (c1, c2) -> Integer.compare(keyExtractor.applyAsInt(c1), keyExtractor.applyAsInt(c2)); }
其中return (Comparator<T> & Serializable)应该是表示类型强转,但是这里为什么不直接转换成Comparator<T>,而要用逻辑与符号?
问题解答
回答1:这个表示强转成Comparator<T>和Serializable可以看下这个解释
标签:
java
排行榜
