MongoIterable.forEach
Block
Java 8 と非常によく似た が必要Consumer
です。これらは問題を引き起こすほど似ています。たとえば、次のコードはコンパイルされません。
MongoIterable<Document> result = collection.find(...);
result.forEach(System.out::println);
コンパイラは と の間Iterable.forEach( Consumer )
で決定できないためMongoIterable.forEach( Block )
です。これを修正するには、パラメーターを明示的に入力するなどの回避策が必要です。
Block<Document> printer = System.out::println;
result.forEach(printer);
または代わりにMongoIterable
、プレーンとして扱いますStream
:
StreamSupport.stream(result.spliterator(), false).forEach(System.out::println);
のようなインターフェイスMongoIterable.forEach
を使用して定義されていないのはなぜですか? さらに良いことに、なぜ入っているのですか?Consumer
MongoIterable.forEach(Consumer<? super TResult> consumer)
forEach
MongoIterable