我正在初始化这样的数组:
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] = {10,20,30,40,50,60,71,80,90,91};
上面的信息不正确(语法错误)。这意味着您正在分配一个data[10]仅可容纳元素的数组。
如果要初始化数组,请尝试使用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。
问题来源于stack overflow