Google Guava isNullOrEmpty的集合

我看到番石榴对字符串有isNullOrEmpty实用程序方法

Strings.isNullOrEmpty(str)

列表是否有类似内容?就像是

Lists.isNullOrEmpty(list)

应该等于

list == null || list.isEmpty()

另外,我们对数组有类似的东西吗?就像是

Arrays.isNullOrEmpty(arr)

应该等于

arr == null || arr.length == 0

回答:

不,这种方法在番石榴中不存在,实际上在我们的“理想墓地”中。

我们不认为“ null或null”是您真正想询问的关于集合的问题。

如果一个集合可能为null,并且应该将null视为空,则将所有歧义都排除在外,如下所示:

Set<Foo> foos = NaughtyClass.getFoos();

if (foos == null) {

foos = ImmutableSet.of();

}

或这样(如果您愿意):

Set<Foo> foos = MoreObjects.firstNonNull(

NaughtyClass.getFoos(), ImmutableSet.<Foo>of());

之后,您可以像平常一样使用.isEmpty()。在调用顽皮的API时立即执行此操作,您已经将怪异现象抛在了身后,而不是让它无限期地继续下去。

而且,如果“空值实际上意味着空集合”没有返回给您,而是传递给了您,那么您的工作就很容易:只要丢掉一个NullPointerException,然后使调用者整形即可。

以上是 Google Guava isNullOrEmpty的集合 的全部内容, 来源链接: utcz.com/qa/404293.html

回到顶部