Java8:泛型类型推断的改进

Java8:泛型类型推断的改进,java,generics,type-inference,java-8,Java,Generics,Type Inference,Java 8,用这个 final List bools=Arrays.asList(真、假、真); 最终列表字符串=bools.stream() .map(x->x?'x':'O') .collect(Collectors.toList()); 应该可以简化为 final List<Boolean> bools = Arrays.asList(true, false, true); final List<Character> string = bools.stream

用这个

final List bools=Arrays.asList(真、假、真);
最终列表字符串=bools.stream()
.map(x->x?'x':'O')
.collect(Collectors.toList());
应该可以简化为

    final List<Boolean> bools = Arrays.asList(true, false, true);
    final List<Character> string = bools.stream()
            .map(x -> x ? 'X' : 'O')
            .collect(Collectors.toList());
final List bools=Arrays.asList(真、假、真);
最终列表字符串=bools.stream()
.map(x->x?'x':'O')
.collect(Collectors.toList());
在Java 8中,但后者不编译:

类型不匹配:无法从列表转换为列表

我弄错了吗? 还是我领先于我的工具


我正在与一起使用。

它在IntelliJ Idea 13下运行良好,它似乎领先于Eclipse对Java8的支持。
因此,我想您只需等待Eclipse能够编译此文件。

这个问题似乎已经得到了解决,最新的JDT快照实现了所需的方案。

自Java 8发布以来,每个Eclipse版本都接受该示例


(发布大于或等于P20140317-1600)。

在这里工作:谢谢,这非常有用!请记住,Eclipse不使用JDK编译器,因此他们的快照构建可能仍在追赶最终规范。尝试使用javacIt编译看起来这仍然在进行中。看起来这是一个漫长的等待,因为在整整一年后的4.4.1版本中,我仍然会遇到类似的错误。英雄联盟
    final List<Boolean> bools = Arrays.asList(true, false, true);
    final List<Character> string = bools.stream()
            .map(x -> x ? 'X' : 'O')
            .collect(Collectors.toList());