zoukankan      html  css  js  c++  java
  • 如何优雅的判断空值

    public class A {
        private A1 a1;
    
        public A1 getA1() {
            return a1;
        }
    
        public void setA1(A1 a1) {
            this.a1 = a1;
        }
    }
    public class A1 {
        private A2 a2;
    
        public A2 getA2() {
            return a2;
        }
    
        public void setA2(A2 a2) {
            this.a2 = a2;
        }
    }
    public class A2 {
        private A3 a3;
    
        public A3 getA3() {
            return a3;
        }
    
        public void setA3(A3 a3) {
            this.a3 = a3;
        }
    }
    public class A3 {
        private String id;
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
    }
    public class App 
    {
        public static void main( String[] args )
        {
            //需求:通过a3获取其id的值
            A a = new A();
            A1 a1 = new A1();
            a.setA1(a1);
            A2 a2 = new A2();
            a1.setA2(a2);
            A3 a3 = new A3();
            a2.setA3(a3);
            a3.setId("888");
    
            //普通人的代码
    
            if(null!=a && null!=a.getA1() && null!=a.getA1().getA2()&& null!=a.getA1().getA2().getA3()){
                System.out.println(a.getA1().getA2().getA3().getId());
            }
    
          //优雅的写法
            String s = Optional.ofNullable(a)
                    .map((k) -> k.getA1())
                    .map((b) -> b.getA2())
                    .map((c) -> c.getA3())
                    .map(d -> d.getId()).orElse("dd");
            System.out.println(s);
        }
    }
  • 相关阅读:
    Linux date自己实现代码
    Linux常用指令
    awk getline命令
    文档资料记录
    数学之美番外篇:平凡而又神奇的贝叶斯方法
    最小二乘法(ZZ)
    SpringMVC简单使用教程
    Oracle设置序列方法
    Bootstrap Table的使用详解
    Html中div块居中显示
  • 原文地址:https://www.cnblogs.com/yangxiaohui227/p/13794572.html
Copyright © 2011-2022 走看看