Naz*_*kyi 2 java lambda java-8 spliterator
它是如何工作的?怎么可以Consumer<? super Integer>演员IntConsumer?
default boolean tryAdvance(Consumer<? super Integer> action) {
if (action instanceof IntConsumer) {
return tryAdvance((IntConsumer) action);
}
else {
if (Tripwire.ENABLED)
Tripwire.trip(getClass(),
"{0} calling Spliterator.OfInt.tryAdvance((IntConsumer) action::accept)");
return tryAdvance((IntConsumer) action::accept);
}
}
Run Code Online (Sandbox Code Playgroud)
强制转换为绑定方法引用提供了一个目标类型action::accept,它等同于lambda x -> action.accept(x).在IntConsumer目标类型导致此拉姆达(其宁愿接受的整数),以适应于接受一个int(这将导致参数传递到之前被隐盒装action.accept()).
| 归档时间: |
|
| 查看次数: |
263 次 |
| 最近记录: |