【发布时间】:2013-10-16 02:19:54
【问题描述】:
我正在尝试在我的类(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).
如何解决这个问题?
【问题讨论】:
-
什么是
A?MainActivity在哪里? -
听起来我们没有得到完整的故事。内部类是怎么回事?
-
@JeroenVannevel 更新了我的帖子
-
@Deqing 我已经更新了我的答案。我想我现在明白你的问题了。
标签: java arrays static initialization final