给出嵌套类定义
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());
}