java - 获取带有空检查的流以及使用 orElse() 和 orElseThrow() 进行集合的功能

标签 java collections null java-stream option-type

Optional.ofNullable() 仅检查 null 值,并且 CollectionUtils.isNotEmpty() 不返回流。有没有办法结合这两个功能。

像这样-

Collection.isNotEmpty(entries)
                .orElseThrow(() -> new Exception("exception"))
                .stream()

而不是-

Optional.ofNullable(entries)
                .orElseThrow(() -> new Exception("exception"))
                .stream()

最佳答案

为了进行比较,请考虑以下内容:

if (entries == null || entries.isEmpty()) {
    throw Exception("exception");
} else {
    return entries.stream();
}

(霍尔格在几条评论中提到了几乎相同的事情。)

在我看来,在这种情况下使用 Optional 并没有比传统的 if/else 语句有所改进。

关于java - 获取带有空检查的流以及使用 orElse() 和 orElseThrow() 进行集合的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54880463/

相关文章:

java - 无法通过 Java 中返回 Int 数组的函数传递 Int 变量

java - 如何导入我自己的类?

java - 为什么图很大时x轴消失了

java - 使用比较器返回具有最大值的对象

c# - 在类初始值设定项中使用隐式类型数组

Java 集合 <T> 移除()

tsql - 在 T-Sql 中的条件中使用 Null 变量

java - 使用通配符迭代此通用 SET

java - 使用 PrintWriter 时删除 ".dat"文件中的空值行

java - 如何防止错误: null > 0 java