12

containsJavaコレクションで nullセーフを実行するための最良の方法は何ですか?

言い換えると -

 if (collection != null && collection.contains(x))

私はApachecommons-collectionsにCollectionUtils.contains(collection, x)、コレクションがnullの場合、size()nullを空のコレクションのように扱うwithのように、単にfalseを返すようなものがあることを望んでいました。

しかし、そのようなことはないようです-私はそれを逃しただけでしたか?

4

1 に答える 1

11

代わりに、ここでNullオブジェクトパターンを適用し、nullコレクションではなく空のコレクションを使用する必要があります。もちろん、これはあなたの問題に適切かもしれませんが、より多くの文脈がなければ、それを伝えるのは難しいです。言い換えれば、あなたは間違った問題を解決していると思います-collectionそもそもなぜnullになるのでしょうか?

于 2012-12-12T16:56:23.183 に答える