虽然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);
有没有办法让类型推断在这种情况下工作?