【发布时间】:2023-02-04 01:14:41
【问题描述】:
我需要有关 Java 8+ 可选概念之一的帮助。我一直看到开发人员在列表对象上使用 Optional.ofNullable,这是不正确的,我不确定它是如何在没有错误/缺陷的情况下完美运行的。代码是这样的
注意:列表对象是通过从存储库层进行数据库调用来捕获的。
Optional.ofNullable(list) .orElse(Collections.emptyList()) .stream().forEach(x-> { ------ ------};);
如果没有元素,列表就不能是空的 null ([]) 那么,它如何正确处理 Optional.ofNullable() 呢?我尝试通过在 forEach 中添加打印语句来测试虚拟代码它会在两种情况下打印(列表为空以及不为空)
帮助将不胜感激
【问题讨论】:
-
请用谷歌搜索你的问题,你的问题可能会破坏你的声誉,stackoverflow 版主会删除它,因为这不是错误问题。
-
事实上,该列表可以是一个“文字空值”(例如,变量
list可以指向一个空值)。至于你问题的其他部分,我听不懂。为什么您对这段代码正常工作感到困惑?我自己不会那样写,但我认为它没有其他逻辑问题。 -
这段代码的主要思想是遍历列表,同时在给定列表为空时处理情况。当给定列表为空时 - 使用空列表只会导致没有进一步的操作而不是空指针异常