收集器方法参考Java8?
如果我有收集器方法参考Java8?,java,Java,如果我有 void method(){ Collector<Item> collector = ... List<Item> toBeCollected = ... toBeCollected.forEach(item -> collector.collect(item)); } void方法(){ 收集器收集器=。。。 要收集的列表=。。。 toBeCollected.forEach(item->collector.collect(item))
void method(){
Collector<Item> collector = ...
List<Item> toBeCollected = ...
toBeCollected.forEach(item -> collector.collect(item));
}
void方法(){
收集器收集器=。。。
要收集的列表=。。。
toBeCollected.forEach(item->collector.collect(item));
}
我一直在这样做,但是IntelliJ Idea一直说可以用方法引用替换collector.collect(item)
。考虑到collector
是Lambda之外的一个参考,你知道我如何做到这一点吗
谢谢IntelliJ最有可能建议使用:
toBeCollected.forEach(collector::collect);
您可以通过按“有问题的代码”以打开“操作”菜单来触发此代码重构。它只是
collector::collect
。(你可以使用一个实例作为操作符的左边。)@chrylis,我也试过了,但是它说void不是一个函数接口
Nevermind,谢谢@chrylis