【发布时间】:2017-08-19 13:58:44
【问题描述】:
下面的 Stream 表达式可以正常工作:
Stream<String> s = Stream.of("yellow","blue", "white");
s.sorted(Comparator.reverseOrder())
.forEach(System.out::print);` //yellowwhiteblue
为什么不编译具有方法引用的等效项?
s.sorted(Comparator::reverseOrder).forEach(System.out::print);
Comparator 类型没有定义 reverseOrder(String, String) 在这里适用
【问题讨论】:
-
为什么你认为
Comparator.reverseOrder()和Comparator::reverseOrder是等价的?你认为,这些是同一事物的不同语法吗?那是有意义的吗?
标签: java java-8 java-stream comparator