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);
        }
    }
  • 相关阅读:
    JSOI2015 总结
    JSOI2014 总结
    JSOI2010/2011 总结
    1.13 考试总结
    1.15 考试总结
    [SDOI2015]寻宝游戏
    [教程]视频网课如何打开倍速纵享丝滑
    对机器学习的一些理解【学术篇】
    angular JS 路由功能
    理解 $scope
  • 原文地址:https://www.cnblogs.com/yangxiaohui227/p/13794572.html
Copyright © 2011-2022 走看看