链接方法时不能依赖目标类型

时间:2014-02-13 10:41:00

标签: java generics java-8 typing

在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

1 个答案:

答案 0 :(得分:4)

问题在构建129中得到修复(但在构建128之前出现)。