12

contains在 Java 集合上 执行 null 安全的最佳方法是什么?

换句话说 -

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

?

我希望 Apache commons-collections 有类似的东西CollectionUtils.contains(collection, x),如果集合为 null,则只会返回 false,就像 withsize()一样,它将 null 视为空集合。

然而,似乎没有这样的事情——我只是错过了吗?

4

1 回答 1

11

相反,您应该在此处应用空对象模式并使用空集合,而不是空集合。当然,也许这适合您的问题,但是如果没有更多上下文,很难说。换句话说,我认为你正在解决错误的问题——为什么一开始可能collection是空的?

于 2012-12-12T16:56:23.183 回答