- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
Java9 给 Optional 添加了 .or
方法。现有的 .orElseGet
有何不同?
checkUserInMemory(userId).or(() -> checkUserInDB(userId));
最佳答案
主要是两者的返回类型不同。
调用orElseGet
返回对象 T
本身。
抛出 NullPointerException
如果没有值存在并且提供函数是null
用例:根据提供的函数确定性地获取值。
Optional.or
返回 Optional
描述值,否则返回 Optional
由供给函数产生
抛出 NullPointerException
如果供应函数是null
或者如果 供应函数产生 null
结果。
用例:链接一系列 Optional
s 基于所提供函数的结果。样本 - How do I concisely write a || b where a and b are Optional values?
关于java - java 9 OR 和 java 8 orElseGet 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48017995/
这个问题在这里已经有了答案: Get value from one Optional or another (5 个答案) Optional orElse Optional in Java (6 个
我不确定如何准确地提出这个问题,所以请耐心等待... 1) 除了添加 null 之外,是否有更好(又名更“正确”)的方法来实例化可选元素的 Stream然后过滤掉 null 的? Stream.of(
我想使用 Optional 来处理空值,我想不出什么是最好的方法的“棘手”部分是我想在值为空时进行日志记录。我可以通过以下代码实现这一点 - 但感觉很尴尬。 (更新:我已经发布了我自己的答案,来自 J
你好,我在这里做错了什么 我想获取基础 Id ,如果它不存在,则获取保险类型..代码片段粘贴在下面..但我在 orElse 部分收到错误,我什至尝试过 orElseGet() ...它说“Lambda
这个问题已经有答案了: Difference between `Optional.orElse()` and `Optional.orElseGet()` (9 个回答) When I need to
我准备了一个小例子来复制我的项目中发生的事情。我知道如何解决它,但我很好奇为什么它甚至无法编译。当我在方法 public TestElement test() 中使用通用通配符时,问题出在最后一次返回
我有一个可选的类列表,即:Optional> opListEntity 我需要映射所有 MyEntity至MyEntityDto当可选存在时。如果 Optional 为空,我将返回一个空的 Array
我需要对此有一个明确的解释,即使我读过这个 link关于差异但没有明确说明。那么任何人都可以用代码简单地向我解释一下吗? 最佳答案 我想我开始理解你的问题了。 Optional 的执行顺序可能与我们在
我有一个用于形成 JSON 响应的类 TeamResponse。它有一些参数,其中一个是可选的: public TeamResponse(Team team, List teamSkillTempla
这个问题在这里已经有了答案: Difference between `Optional.orElse()` and `Optional.orElseGet()` (9 个回答) 关闭 3 年前。 我
我在使用 Groovy 2.4.16 和 Java 8.0.212-zulu 以及 java.util.Optional 时遇到了奇怪的行为。 所以,这是代码: def optRegion = new
Java9 给 Optional 添加了 .or 方法。现有的 .orElseGet 有何不同? checkUserInMemory(userId).or(() -> checkUserInDB(us
假设我不知道一个 Optional 是否为空,或者两者是否都存在。在后一种情况下,我总是希望 a 而不是 b: final Optional a = Optional.of("1"); final O
这个问题在这里已经有了答案: Difference between `Optional.orElse()` and `Optional.orElseGet()` (9 个回答) 关闭 4 年前。 这
我是一名优秀的程序员,十分优秀!