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

Null safe Collection as Stream in Java 8(Java 8 中的空安全集合作为流)

本文介绍了Java 8 中的空安全集合作为流的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找可以制作集合流的方法,但它是 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(...);

这篇关于Java 8 中的空安全集合作为流的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Java 8 中的空安全集合作为流

基础教程推荐