返回博主主页

java 如何像 js 一样使用 ?( optional chaining operator)

在 Java 中,没有像 JavaScript 中的可选链操作符(optional chaining operator)一样的语法。但是,可以使用 Java 8 中引入的 Optional 类来实现类似的功能。

假设我们有一个包含嵌套对象的类:

public class MyClass {
    private MyOtherClass myOtherClass;
    // getters and setters
}

public class MyOtherClass {
    private MyThirdClass myThirdClass;
    // getters and setters
}

public class MyThirdClass {
    private String name;
    // getters and setters
}

我们想要获取 MyClass 对象中的 MyThirdClass 对象的名称属性,但是可能会遇到 NullPointerException 异常。可以使用 Optional 类来避免这个问题:

Optional.ofNullable(myClass)
        .map(MyClass::getMyOtherClass)
        .map(MyOtherClass::getMyThirdClass)
        .map(MyThirdClass::getName)
        .orElse(null);

这里,我们使用 Optional.ofNullable 方法将 myClass 对象转换为 Optional 对象,然后使用 map 方法逐级获取嵌套对象的属性。如果任何一个属性为 null,则整个表达式返回 null。最后,我们使用 orElse 方法指定默认值,以避免返回 null 值。

需要注意的是,虽然这种方式可以避免 NullPointerException 异常,但是可能会导致代码变得更加复杂。因此,应该谨慎使用 Optional 类来实现类似于 JavaScript 的可选链操作符的功能。

posted @   懒惰的星期六  阅读(41)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2019-09-26 mybatis的sql执行过程底层源码分析和缓存原理分析

Welcome to here

主页
点击右上角即可分享
微信分享提示