gpt4 book ai didi

java - Comparator.comparing 中的比较器和可序列化之间的按位与

转载 作者:行者123 更新时间:2023-11-30 06:08:01 30 4
gpt4 key购买 nike

我正在查看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));
}

为什么需要 ComparatorSerialized 之间的按位 and 以及它的作用是什么?

(Comparator<T> & Serializable)

它可以简单地转换为Comparator以进行链接。

在非数值情况下按位运算如何工作?

谢谢。

最佳答案

这不是类型之间的按位运算,而是交集类型,向编译器指示,当它生成与 lambda 表达式对应的类型时,该类型应该同时实现 ComparatorSerializable接口(interface)。

关于java - Comparator.comparing 中的比较器和可序列化之间的按位与,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40564478/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com