java - 如何更好地重构可以在 java 中返回 null 的方法链?

标签 java methods null refactoring chain

我有这样的代码:

obj1 = SomeObject.method1();
if (obj1 != null) {
  obj2 = obj1.method2();
  if (obj2 != null) {
     obj3 = obj2.method3();
     if (obj3 != null) {
              ............


     return objN.methodM();

   }
  }
 }
....

我有将近 10 步。它看起来非常脆弱且容易出错。有没有更好的方法来检查空链方法?

谢谢。

最佳答案

您可以使用 java.util.Optional.map(..) 链接这些检查:

return Optional.ofNullable(SomeObject.method1())
        .map(SomeObject2::method2)
        .map(SomeObject3::method3)
        // ....
        .map(SomeObjectM::methodM)
        .orElse(null);

关于java - 如何更好地重构可以在 java 中返回 null 的方法链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14442299/

相关文章:

C++构造函数返回嵌入式系统

java - 使用 jaxb schemagen 创建 XSD

Java TextArea 动态更新

java - NoClassDefFoundError 但类存在

php - Mysql非顺序插入问题

c++ - 有趣的 C++ 代码片段,有什么解释吗?

java - 从 Hijri 日期字符串中获取公历日期

javascript - Highcharts "Cannot read property ' toFront' 未定义”

java - 第一次使用数组,尝试创建频率表

java - 需要帮助解决 Java 逻辑错误