java - 整数数组静态初始化

标签 java arrays static

哪两个代码片段正确地创建和初始化了一个静态的 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/

相关文章:

java - Dozer 中的 map 集合大小

javascript - 使用 Reduce 比较多个数组

java - 使用微调器更改值

c# - INotifyPropertyChanged 和静态属性

Php:单例VS全静态类?什么时候用什么?

java - 将 Point 的值打印到终端

java - 在循环中使用线程时出现异常

java - 如何在不使用 InheritableThreadLocal 的情况下为每个顶级进程/线程提供共享上下文?

java - 如何写入文件而不删除以前的现有数据

python - Pandas 滚动应用 Scipy FindPeaks 函数 : TypeError: only size-1 arrays can be converted