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();
}

注釈やその他のツールを使用して上記のコードを自動的に生成する方法があるかどうかを知りたいので、そのようなコードを繰り返し記述する必要はありません。私は次のことだけをするべきです

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

1 に答える 1

1

KludJeはおそらくあなたが望むものです。

于 2018-03-29T13:44:07.083 に答える