1

给出嵌套类定义

class A {
   B b;
   public B getB() {
       return b;
   }
}

class B {
   ArrayList<C> list;
   public getListC() {
    return list;
  }
}

class C {
  D d;
  public D getD() {
    return d;
   }
}

class D {
   E e;
   public E getE() {
       return e;
    } 
}

现在假设我有一个 A 类的实例,我想通过 A 的实例访问 E 的实例,如下所示

E someMethod(A a) {
    if (a == null
       || a.getB() == null
       || a.getB().getListC() == null
       || a.getB().getList().isEmpty()
       || a.getB().getList().get(0) == null
       || a.getB().getList().get(0).getD() == null) {
       return null;
     }
    return a.getB().getList().get(0).getD().getE();
}

现在我想知道是否有一种方法可以使用 Annotation 或其他工具自动生成上述代码,这样我就不必重复编写这样的代码。我应该只做以下

E someMethod(A a) {
    @AwesomeAnnotation(a.getB().getList().get(0).getD().getE());
}
4

1 回答 1

1

KludJe可能是您想要的。

于 2018-03-29T13:44:07.083 回答