小编典典

整数数组静态初始化

java

哪两个代码片段正确创建并初始化了一个int元素的静态数组?(选择两个。)

一个。

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是错误的。


阅读 214

收藏
2020-11-16

共1个答案

小编典典

正确答案是1和2(或者用您的符号表示A和B),而且正确的解决方案是:

static final int[] a = new int[]{ 100,200 };

解决方案D不会自动初始化数组,因为运行时会加载该类。它只是定义了一个静态方法(init),您必须在使用数组字段之前调用该方法。

2020-11-16