リストを作成していて、パラレルストリームを使用して他のリストから入力すると、予期せず宛先リストにnullが含まれています。それはめったに起こりません。誰かが同じ問題を抱えていますか?ここでArrayListにはヌルが含まれています
は、コードの一部です:
Collection<DestinationObj> DestinationObjList = Lists.newArrayList();
SourceObjList.parallelStream().forEach(portalRule -> DestinationObjList.add(new DestinationObj(portalRule)));
return DestinationObjList;
あなた 'ArrayList'はスレッドセーフではありません。 – Flown
https://docs.oracle.com/javase/tutorial/collections/streams/parallelism.htmlページの最後を参照してください) –
ところで、 '.collect(...)'を使用するのではなく、 .forEach'です。私はスレッドセーフなリストでなくても(コレクタが同期を処理するので)並列ストリームでも動作するかもしれないが、それを確認する必要があると思われる。 –