H5W3
当前位置:H5W3 > 其他技术问题 > 正文

java8中,逻辑与 & 符号用在接口类上代表什么意思

最近在读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>,而要用逻辑与符号?

回答:

这个表示强转成Comparator<T>Serializable
可以看下这个解释

本文地址:H5W3 » java8中,逻辑与 & 符号用在接口类上代表什么意思

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址