一尘不染

如何在Java中初始化数组?

java

我正在初始化这样的数组:

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};

我该如何解决这个问题?


阅读 353

收藏
2020-02-27

共1个答案

一尘不染

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

2020-02-27