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

Jos*_*one 7 java lambda type-inference java-8

虽然Java 8的类型推断看起来有了很大的改进,但我遇到了一个可能的限制,我不确定是否有一些我缺少的解决方法.场景:

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

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

Foo<Bar> foo = new Foo<>();
Run Code Online (Sandbox Code Playgroud)

这有效:

foo.<String>apply(bar -> bar::setBar);
Run Code Online (Sandbox Code Playgroud)

这不是:

foo.apply(bar -> bar::setBar);
Run Code Online (Sandbox Code Playgroud)

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

ass*_*ias 6

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

看来,Eclipse有相当的几个问题与Java 8 ...