きり丸の技術日記

技術・エンジニアのイベント・資格等はこちらにまとめる予定です

JavaでNullを意識せずにNullableな配列項目をStream APIで処理する

超がつく小ネタ。よく忘れるのでブログ化。

環境

結論

Optional型のofNullableメソッドでNullでも問題なく処理できるようにする。

そのあと、Stream APIflatMapメソッドとCollection型のstreamメソッドを組み合わせる。

Optional.ofNullable(detail) // Optional<List<Class>>
  .stream() // Stream<List<Class>>
  .flatMap(Collection::stream) // Stream<Class>
  ... // 以降は普段通りのStream処理をする

ソースコード

https://github.com/hirotoKirimaru/cucumber-sample/blob/6c47974ce8b5d03067b280a7d5267bf4deebebaa/src/main/java/kirimaru/biz/domain/Entry.java#L24

終わりに

Stream APIは未だに苦手です。

気付かないうちに配列の配列になってしまい、どういう風に処理をすればいいのか分からなくなります。

簡単な処理は覚えてきているので、難しい処理もどんどん慣れていきたいです。


この記事がお役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。

f:id:nainaistar:20201013111905p:plain