哪两个代码片段正确地创建和初始化了一个静态的 int 数组 元素? (选择两项。)
A.
static final int[] a = { 100,200 };
B.
static final int[] a;
static { a=new int[2]; a[0]=100; a[1]=200; }
C.
static final int[] a = new int[2]{ 100,200 };
D.
static final int[] a;
static void init() { a = new int[3]; a[0]=100; a[1]=200; }
答案:A,B
这里甚至 D 似乎都是真的,谁能告诉我为什么 D 是假的。
最佳答案
正确答案是 1 和 2(或者用你的符号表示 A 和 B),一个同样正确的答案是:
static final int[] a = new int[]{ 100,200 };
解决方案 D 不会自动初始化数组,因为类由运行时加载。它只是定义了一个静态方法 (init),您必须在使用数组字段之前调用该方法。
关于java - 整数数组静态初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4449935/