在JDK或Google Guava中有像这样的方法吗
public static <T> Collection<T> safe(Collection<T> collection) {
if (collection == null) {
return new ArrayList<>(0);
} else {
return collection;
}
}
这使得在某些东西返回空列表时不会在增强的循环中崩溃变得很容易。
for (String string : CollectionUtils.safe(foo.canReturnANullListOfStrings())) {
// do something
}
不会崩溃。
我环顾四周,但没有找到任何这样的方法,我想知道我是否遗漏了它,或者是否有一个原因,为什么这样一个方便的方法不方便,因此没有包括在内?
发布于 2013-02-16 05:31:14
Objects.firstNonNull(list, ImmutableList.<Foo>of());
不需要专门的方法,当你从一个糟糕的is indeed得到一个可能为空的集合时,我们建议你立即使用这个方法,理想情况下,它一开始就不应该这样做。
发布于 2016-08-03 11:50:43
Apache Collections4有一个泛型方法ListUtils.emptyIfNull(List<T> list)
发布于 2016-12-09 21:52:33
在Java 8中,可以使用以下代码:
Optional.ofNullable(foo.canReturnANullListOfStrings()).orElse(Collections.emptyList());
https://stackoverflow.com/questions/14903554
复制相似问题