我像这样初始化一个数组:

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

我怎么解决这个问题?


当前回答

Try

data = new int[] {10,20,30,40,50,60,71,80,90,91 };

其他回答

int myArray2[] = new int[3];
int[] myArray = new int[3];
int[] intArray = {13, 14, 15};
int[] intArray = new int[]{7, 8, 9};
int[] intArray = IntStream.range(1, 11).toArray();
int[] intArray = IntStream.rangeClosed(1, 10).toArray();
int[] intArray = IntStream.of(6, 2, 4, 5, 7).toArray();
int[] intArray = IntStream.of(6, 2, 4, 5, 7).sorted().toArray();

也许这样会有用:

public class Array {

    int data[] = new int[10]; 
    /* Creates a new instance of Array */
    public Array() {
        data= {10,20,30,40,50,60,71,80,90,91};
    }
}

当您创建一个大小为10的数组时,它分配了10个插槽,但从0到9。 这个for循环可能会帮助你更好地理解这一点。

public class Array {
    int[] data = new int[10]; 
    /** Creates a new instance of an int Array */
    public Array() {
        for(int i = 0; i < data.length; i++) {
            data[i] = i*10;
        }
    }
}

你可以:

int[] data = {10,20,30,40,50,60,71,80,90,91};

你不能这样初始化一个数组。除了其他人的建议,你还可以做:

data[0] = 10;
data[1] = 20;
...
data[9] = 91;