How to initialize an array in Java?

后端 未结 10 2233
天命终不由人
天命终不由人 2020-11-22 00:23

I am initializing an array like this:

public class Array {

    int data[] = new int[10]; 
    /** Creates a new instance of Array */
    public Array() {
           


        
10条回答
  •  情歌与酒
    2020-11-22 01:04

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

    The above is not correct (syntax error). It means you are assigning an array to data[10] which can hold just an element.

    If you want to initialize an array, try using 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};
    

    Notice the difference between the two declarations. When assigning a new array to a declared variable, new must be used.

    Even if you correct the syntax, accessing data[10] is still incorrect (You can only access data[0] to data[9] because index of arrays in Java is 0-based). Accessing data[10] will throw an ArrayIndexOutOfBoundsException.

提交回复
热议问题