首页 > 解决方案 > 如果在 Java 8 中的流之前集合为空,如何返回 false?

问题描述

我写了下面的代码来检查一些条件。

/**
 * Returns true if any of the dose detail is an x
 * @return boolean
 */
public <DD extends BD<DI>, DI extends BI> boolean Y(final Collection<DD> dds) {
    return dds.stream().anyMatch(dd -> dd.M().K());
}

但是这种方法有一些风险 dds ,作为空值来。我需要返回 false 是 dd 也是 null。如何使用 java 8 将此方法修改为空安全?

标签: javacollectionsjava-8java-stream

解决方案


或者你可以这样做。更多或喜欢相同的方式

return dds != null && dds.stream().anyMatch(dd -> dd.M().K());

推荐阅读