使用lambda表达式键入推理限制

时间:2014-05-23 22:16:48

标签: java java-8 type-inference lambda

虽然Java 8的类型推断似乎有了很大的改进,但我已经遇到了可能的限制,我不确定是否有一些解决方法我不知道。场景:

class Foo<T> {
  <U> void apply(Function<T, Consumer<U>> bar) {}
}

class Bar {
  void setBar(String bar){}
}

Foo<Bar> foo = new Foo<>();

这有效:

foo.<String>apply(bar -> bar::setBar);

这不是:

foo.apply(bar -> bar::setBar);

有没有办法让类型推断在这种情况下工作?

1 个答案:

答案 0 :(得分:6)

这是一个日食错误。两者都可以使用Netbeans或javac进行编译。

Eclipse似乎有quite一些issues与java 8 ...

相关问题