gpt4 book ai didi

java - java 9 OR 和 java 8 orElseGet 的区别

转载 作者:搜寻专家 更新时间:2023-11-01 04:01:07 26 4
gpt4 key购买 nike

Java9 给 Optional 添加了 .or 方法。现有的 .orElseGet 有何不同?

checkUserInMemory(userId).or(() -> checkUserInDB(userId));

最佳答案

主要是两者的返回类型不同。

Optional.orElseGet

  • 调用orElseGet返回对象 T本身。

  • 抛出 NullPointerException如果没有值存在并且提供函数是null

  • 用例:根据提供的函数确定性地获取值。

Optional.or

关于java - java 9 OR 和 java 8 orElseGet 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48017995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com