qazxsw poi仅检查qazxsw poi值,qazxsw poi不返回流。有没有办法结合这两个功能。 像这样的东西 -
Optional.ofNullable()
代替-
null
您可以简单地使用CollectionUtils.isNotEmpty()
来检查它是否为空
Collection.isNotEmpty(entries)
.orElseThrow(() -> new Exception("exception"))
.stream()
关于您想要消除流本身中的Optional.ofNullable(entries)
.orElseThrow(() -> new Exception("exception"))
.stream()
值的注释,您可以使用:
filter()
也许:
Optional.ofNullable(entries)
.filter(e -> !e.isEmpty())
.orElseThrow(() -> new Exception("exception"))
.stream()
为了比较,考虑一下:
null
(Holger在几篇评论中提到了几乎相同的东西。)
在我看来,在这种情况下使用Optional.ofNullable(entries)
.filter(e -> !e.isEmpty())
.orElseThrow(() -> new Exception("exception"))
.stream()
.filter(Objects::nonNull)
并不比传统的if / else语句有所改进。
您可以映射到流:
Optional.ofNullable((entries == null || entries.isEmpty()) ? null : entries)
.orElseThrow(() -> new Exception("exception"))
.stream()