Optional特性取代判断Null的if else

Optional特性取代判断Null的if else

Optional.ofNullable(jsonNode).map(x -> x.get("appId").asText()).orElse("orelse");
ofNullable内容
Application applcation1 = null;
String a1 = Optional.ofNullable(applcation1).map(x ->x.getDisplayName()).orElse("orelse");
        String a2 = Optional.ofNullable(applcation1.getIcon()).orElse("orelse");
        System.out.println(a1);
        System.out.println(a2);
  • optional只可以使用optional.ofNullable(x)
    • x只能为null
    • x为null情况下不可以x.get(“data”)
map内容
Optional.ofNullable(jsonNode).map(x -> x.get("appId").asText()).orElse("orelse");
  • 使用map(x -> x.get(“appId”)时
    • 在确保x不为空或者x已经在nullable里面时
    • 如果x.get内容为空也可以
结论:

如果想要通过OfNullable获取类的一层一层内容x.get().get()时

最好的办法就是ofNull为最顶层,然后map一层一层嵌套获取

如果某一层没获取到就走orelse()

切记使用ofNullable的时候(jsonNode.get(A)时,最好不要使用get,会直接NPE)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值