のコンパレータとSerializableの間、私はここにJava8ビット単位とComparator.comparing
で実装Comparator.comparing
方法のソースコードを探していますがComparator
間のコード
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));
}
なぜビット単位and
ですSerializable
が必要ですが、それは何ですか?
(Comparator<T> & Serializable)
連鎖のために単にComparator
にキャストすることができます。
数字以外の値の場合でもビット単位の演算はどのように機能しますか?
ありがとうございました。
関連:http://stackoverflow.com/questions/22819804/what-is-the-type-of-an-intersected-type – assylias