Java 8 中的空安全集合作为流

2022-01-22 00:00:00 null collections java-8 java java-stream

我正在寻找可以制作集合流的方法,但它是 null 安全的.如果collection 为null,则返回空流.像这样:

I am looking for method that can make stream of collection, but is null safe. If collection is null, empty stream is returned. Like this:

Utils.nullSafeStream(collection).filter(...);

我已经创建了自己的方法:

I have created my own method:

public static <T> Stream<T> nullSafeStream(Collection<T> collection) {
    if (collection == null) {
        return Stream.empty();
    }
    return collection.stream();
}

但我很好奇,标准JDK中是否有类似的东西?

But I am curious, if there is something like this in standard JDK?

推荐答案

可以使用org.apache.commons.collections4.CollectionUtils::emptyIfNull函数:

You can use org.apache.commons.collections4.CollectionUtils::emptyIfNull function:

import static org.apache.commons.collections4.CollectionUtils.emptyIfNull;
      
emptyIfNull(list).stream()
                 .filter(...);

相关文章