mkj*_*kjh 13 java java-8 java-stream
为什么还有LongSummaryStatistics实现的IntConsumer时候IntSummaryStatistics实现IntConsumer?
And*_*ner 15
LongSummaryStatistics实现IntConsumer,以便它可以接受int值和long值.
例如,这允许您将其传递给需要的方法IntConsumer,以便int抽象地使用某些数据:
LongSummaryStatistics lss = new LongSummaryStatistics();
someMethod(lss);
void someMethod(IntConsumer consumer) { ... }
Run Code Online (Sandbox Code Playgroud)
没有真正的理由说明为什么LongSummaryStatistics不能用于此目的:int可以永远扩大到long无损失.但是,除非直接实现lss,someMethod否则类型系统不允许用作参数.LongSummaryStatisticsIntConsumer
没错,您可以在不使用lambda实现接口的情况下执行此操作:
someMethod(i -> lss.consume(i));
Run Code Online (Sandbox Code Playgroud)
但直接使用参考只是有点整洁.
| 归档时间: |
|
| 查看次数: |
472 次 |
| 最近记录: |