【发布时间】:2020-02-15 15:12:41
【问题描述】:
Stream.max 的 api 需要 Comparator<? super T> 类型的参数,而对于 Comparator,唯一的抽象方法是
int compare(T o1, T o2)
但是Double::compareTo,compareTo api 是
public int compareTo(Double anotherDouble)
为什么只提供一个参数,那么Double::compareTo为什么可以用作Stream的参数
Optional<T> max(Comparator<? super T> comparator)
【问题讨论】:
-
我发现streamObj.max(Double::compareTo) 可以成功运行
-
您选择了错误答案作为正确答案。它基本上是 Andronicus 提供的第一个正确答案的“我也是”答案。
-
@HovercraftFullOfEels 我理解你的立场。当我学习它时,我很难理解这一点。参考语言规范给出的答案很好,但是当我努力解决它时它对我没有帮助。
标签: java java-8 java-stream comparator method-reference