我正在初始化这样的数组:
public class Array { int data[] = new int[10]; /** Creates a new instance of Array */ public Array() { data[10] = {10,20,30,40,50,60,71,80,90,91}; } }
NetBeans在此行指出一个错误:
data[10] = {10,20,30,40,50,60,71,80,90,91};
我该如何解决这个问题?
上面的信息不正确(语法错误)。这意味着你正在分配一个data[10]仅可容纳元素的数组。
data[10]
如果要初始化数组,请尝试使用Array Initializer:
Array Initializer
int[] data = {10,20,30,40,50,60,71,80,90,91}; // or int[] data; data = new int[] {10,20,30,40,50,60,71,80,90,91};
注意两个声明之间的区别。将新数组分配给声明的变量时,new必须使用。
即使你纠正了语法,访问data[10]仍然是不正确的(你只能访问data[0],data[9]因为Java中的数组索引是基于0的)。访问data[10]将抛出ArrayIndexOutOfBoundsException。
data[0]
data[9]
data[10
ArrayIndexOutOfBoundsException