【发布时间】:2016-11-12 15:37:03
【问题描述】:
我在看Java8中实现的Comparator.comparing方法的源码
这里是代码
public static <T, U> Comparator<T> comparing(
Function<? super T, ? extends U> keyExtractor,
Comparator<? super U> keyComparator)
{
Objects.requireNonNull(keyExtractor);
Objects.requireNonNull(keyComparator);
return (Comparator<T> & Serializable)
(c1, c2) -> keyComparator.compare(keyExtractor.apply(c1),
keyExtractor.apply(c2));
}
为什么需要Comparator 和Serializable 之间的逐位and 以及它的作用?
(Comparator<T> & Serializable)
它可以简单地转换为Comparator 进行链接。
在非数值的情况下,按位运算如何工作?
谢谢。
【问题讨论】:
标签: java java-8 comparator