[Quote=引用 11 楼 scliuqiang 的回复:]
Java codeint[] a = new int[2]{100,200};
//不能这样写
要么int[] a = new int[]{100,200};
要么int[] a = new int[2]{};
如果这样int[] a = new int[2]{100,200};写
你给定了数组长度2,接着又初始化,虚拟机不能保证你初始化时给定的数据个数不会造成数组下标越界,
所以虚拟机不允许这样写--编译不通过
[/Quote]
int[] a = new int[2]{100,200};
//不能这样写
要么int[] a = new int[]{100,200};
要么int[] a = new int[2]{};
如果这样int[] a = new int[2]{100,200};写
你给定了数组长度2,接着又初始化,虚拟机不能保证你初始化时给定的数据个数不会造成数组下标越界,
所以虚拟机不允许这样写--编译不通过
[Quote=引用 3 楼 zhymin77 的回复:]
就是错了啊 SCJP考试题 给你看看原题吧
Question 12:
While two code fragments correctly create and initiaize a static array
of int elements ?(Choose two.)
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]=20…
[/Quote]