当前位置:  开发笔记 > 编程语言 > 正文

MongoIterable.forEach与Iterable.forEach

如何解决《MongoIterable.forEach与Iterable.forEach》经验,为你挑选了0个好方法。

MongoIterable.forEach需要一个Block与Java 8非常相似的东西Consumer.它们足够相似会导致问题,例如,以下内容无法编译:

MongoIterable result = collection.find(...);
result.forEach(System.out::println); 

因为编译器无法在Iterable.forEach( Consumer ) 和之间做出决定MongoIterable.forEach( Block ).修复此问题需要明确键入参数的解决方法:

Block printer = System.out::println;
result.forEach(printer);   

或者,MongoIterable作为一个平原处理Stream:

StreamSupport.stream(result.spliterator(), false).forEach(System.out::println);

为什么MongoIterable.forEach没有使用Consumer界面定义,例如:MongoIterable.forEach(Consumer consumer)?更好 - 为什么要forEach进去MongoIterable呢?

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有