ネストされたクラス定義を与える
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();
}
注釈やその他のツールを使用して上記のコードを自動的に生成する方法があるかどうかを知りたいので、そのようなコードを繰り返し記述する必要はありません。私は次のことだけをするべきです
E someMethod(A a) {
@AwesomeAnnotation(a.getB().getList().get(0).getD().getE());
}