0

たとえば、クラス(MainActivity)にオブジェクトの配列を追加しようとしています

public class MainActivity extends Activity {
    private class A {
      A(String s) { ..}
    }
    private static final A[] aList1;
    private static final List<A> aList2;
    ...

どちらも私には問題ありません。

しかし、aList1 または aList2 を初期化する方法がわかりません。すでに次のことを試していました:

private static final A[] aList;
static {
    a = new A[2];
    a[0] = new A("emails");
}

また、試しました:

private static final List<A> aList = new ArrayList<A>(){{
    add(new A("emails"));
}};

しかし、日食は不平を言っています:No enclosing instance of type MainActivity is accessible. Must qualify the allocation with an enclosing instance of type MainActivity (e.g. x.new A() where x is an instance of MainActivity).

これを修正する方法は?

4

3 に答える 3