天天看點

null in ABAP and nullpointer in JavaABAPJava2B青年的寫法文藝青年的寫法

ABAP

Java

class Outer {
    Nested nested;
    Nested getNested() {
        return nested;
    }
    
    public Outer(){
        // nested = new Nested();
    }
}
class Nested {
    Inner inner;
    Inner getInner() {
        return inner;
    }
    
    public Nested() {
        // inner = new Inner();
    }
}

class Inner {
    String foo = "Jerry";
    String getFoo() {
        return foo;
    }
}           

為了列印嵌套層數很深的foo:

2B青年的寫法

public void test1(){
        Outer outer = new Outer();
        if (outer != null && outer.nested != null && outer.nested.inner != null) {
            System.out.println(outer.nested.inner.foo);
        }
    }           

文藝青年的寫法

public void test2(){
        Optional.of(new Outer()).map(Outer::getNested).map(Nested::getInner).map(Inner::getFoo)
            .ifPresent(System.out::println);
    }           

More discussion of ABAP, Java and JavaScript could be found from my Wechat article

Jerry的ABAP, Java和JavaScript亂炖

本文來自雲栖社群合作夥伴“汪子熙”,了解相關資訊可以關注微信公衆号"汪子熙"。