count() 呼び出し直前の map() または boxed() などの冗長な Stream API 呼び出しを報告します。

このような呼び出しは最終カウントを変更しないため、除去できます。 コードはそのような map 呼び出し内のラムダからの副作用に依存している可能性があります。 ただし、stream チェーン内の副作用に依存することは非常に悪い例です。 この呼び出しが今後の Java バージョンで最適化されない保証はありません。

例:


  // map() 呼び出しは冗長です
  long count = list.stream().filter(s -> !s.isEmpty()).map(s -> s.trim()).count();

2024.1 の新機能です