在Java 8中,类型推断已扩展到target typing,可以写入:
Comparator<String> ascending = comparingInt(String::length);
无需使用类型见证(Comparator.<String> comparingInt
)。但是下面的最后一个语句不能编译。有原因吗?有解决方法吗?
Comparator<String> ascending = comparingInt(String::length); //ok
Comparator<String> descending = ascending.reversed(); //ok
Comparator<String> descending = reverseOrder(comparingInt(String::length)); //ok
Comparator<String> descending = Comparator.<String>comparingInt(String::length)
.reversed(); //ok
Comparator<String> descending = comparingInt(String::length).reversed(); //error
答案 0 :(得分:4)
问题在构建129中得到修复(但在构建128之前出现)。