当前位置: 首页 > 知识库问答 >
问题:

何时使用optional.orelse()而不是optional.orelseget()[duplicate]

尉迟禄
2023-03-14

共有1个答案

贺雅健
2023-03-14
  1. 在大多数情况下,使用orelse时键入较少,因为它比orelseget短,并比较它们的签名:
orElse(T other)
orElseGet(Supplier<? extends T> other)

一个<代码>供应商<?extends t>other很可能比t other长。如果性能不是那么重要,您可以选择少键入。程序员的努力也很重要:-)例如,比较:

orElseGet(() -> 1)
orElse(1)

默认情况下,除非默认对象已经构造并可以直接访问,否则每次都使用orElseGet()更有意义。

 类似资料:
  • 我需要一个明确的解释这一点,即使我读了这个关于差异的链接,但没有明确的清晰。那么有没有人可以简单地用代码向我解释一下呢?

  • 方法接受一个供应商函数接口,该接口本质上不接受任何参数,并返回。 在哪种情况下需要使用?如果您有一个方法为什么不直接执行而不执行? 似乎并不是要将lambda表达式的执行推迟到以后的某个时间或其他时间,那么这有什么意义呢?(我认为如果它返回一个更安全的会更有用,它的从不抛出并且总是返回true...但显然它不是,它只是返回,就像)。 是不是还有什么我遗漏的不同之处?

  • 问题内容: 我对php比较陌生。有一件非常基本的事情困扰着我。我了解php用于使网站动态化。我也了解php是可用于创建动态网站的许多服务器端脚本语言之一。 但是,我不明白的是,何时需要使用index.php页面。例如,如果我的索引页面上只有一个简单的登录页面,那么它也可能只是一个简单的html页面。对?那我为什么要使它成为index.php而不是index.html? 一个示例情况的例子将是很好的

  • 问题内容: 我刚刚开始阅读JPA,并且在休眠中的实现了解了细节。但是,在那之前继续开发,您能否帮助您阐明基本的qn。 何时 使用OneToOne如果实体管理器需要处理相关对象的持久性,则可以使用OneToOne。关键是,我始终可以在不指定oneToOne的情况下生活,但是我有责任管理这种关系并确保所引用的对象不处于过渡状态。这是真的? 何时使用或不使用ManyToOne 假设我正在定义Employ

  • 想改进这个问题吗 通过编辑此帖子,更新问题,以便用事实和引用来回答。 最初的关闭原因未得到解决 我正在开发Apache Kafka。我想知道哪一个更好:Kafka和ActiveMQ。这两种技术的主要区别是什么?我想在Spring MVC中实现Kafka。

  • 问题内容: 但是我仍然不知道您何时在工厂使用服务。 据我所知,工厂通常用于创建可被多个控制器调用的“通用”功能:创建通用控制器功能 Angular文档似乎更喜欢工厂而不是服务。他们甚至在使用工厂时也提到“服务”,这更加令人困惑!http://docs.angularjs.org/guide/dev_guide.services.creating_services 那么什么时候可以使用服务呢? 有什