Hoe een array initialiseren in Java?

Ik initialiseer een array zoals dit:

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 wijst op een fout op deze regel:

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

Hoe kan ik het probleem oplossen?

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

Het bovenstaande is niet correct (syntaxis fout). Het betekent dat je een array toewijst aan data[10] die slechts een element kan bevatten.

Als je een array wilt initialiseren, probeer dan Array Initializer te gebruiken:

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

Let op het verschil tussen de twee declaraties. Bij het toewijzen van een nieuwe array aan een gedeclareerde variabele, moet new worden gebruikt.

Zelfs als je de syntax verbetert, is het benaderen van data[10] nog steeds onjuist (Je kunt alleen data[0] tot data[9] benaderen, omdat de index van arrays in Java op 0 gebaseerd is). Toegang tot data[10] werpt een ArrayIndexOutOfBoundsException.

Commentaren (3)

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

Commentaren (1)

je probeert het 10de element van de array in te stellen probeer

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

FTFY

Commentaren (0)