我有一个类型为Comparator<Integer>
的比较器,并且希望获得类型为Comparator<Pair<Integer, ?>>
的比较器,前提是我有一个类型为Function<Pair<Integer, ?>, Integer>
的Pair::left
(它返回一个Integer
).
如果我想使用Function<U, V>
简单地将Function<T, U>
映射到Function<T, V>
,我可以简单地使用andThen
方法,如下所示:
Function<Integer, String> toBinary = Integer::toBinaryString;
Function<Pair<Integer, ?>, Integer> left = Pair::left;
var pairToBinary = left.andThen(toBinary); // has type Function<Pair<Integer, ?>, String>
对于Comparator<T>
人来说,以任何方式都有可能实现同样的目标吗?