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

用可选的#IFpresent[duplicate]替换空检查的好处

薛承基
2023-03-14

我刚从Java7转到8,我的代码中到处都是代码片段,比如

if (myObj != null) {
    myObj.doSomething();
    myObj.doOtherThing();
}

我注意到,空检查有时被认为是一种反模式,而Java8提倡使用可选的。让我的代码看起来像这样有什么好处吗

Optional.ofNullable(myObj).ifPresent(obj -> {
    myObj.doSomething();
    myObj.doOtherThing();
});

共有1个答案

云啸
2023-03-14

optional的优点之一是,当您从方法返回optional时,它表示方法可以返回NULL。当返回一个通常的对象时,是否应该对返回的值进行空检查并不明显。

 类似资料:
  • 我喜欢的,我觉得很酷的东西 有人能告诉我我没意见吗?也许很酷,但成本很高?我不知道.多谢.

  • 下面是我的代码,按预期工作。但我需要用Optional.ofNullable替换它 如何使用

  • 有人能解释一下<code>是可选的</code>如何帮助我们避免<code>NullPointerException</code>吗? 这段代码不是也容易出现<code>NullPointerException</code>吗?如果是这样的话,那么为什么这个代码比其他代码更受欢迎 除了帮助我们了解函数是否实际具有返回值之外,还提供了什么可能的好处

  • 我有一小段代码。我想用更好的方式写它,用更少的嵌套支票。我怎样才能实现呢? 有没有什么简洁的方法可以让我用Java 8重写上面的代码呢?

  • 有人能解释一下如何帮助我们避免? 这段代码不是也容易出现吗?如果是这样的话,那么为什么这个代码比 除了帮助我们了解函数是否实际具有返回值之外,还有什么可能的好处

  • 我有一个mutator方法,它只设置参数中提供的非null字段。参数返回裸引用,而不是包装器,并且不能更改。 在Java 8之前,一种方法是: 从Java8开始,可以使用一次性的