Wie initialisiert man ein Array in Java?

Ich initialisiere ein Array wie folgt:

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 weist auf einen Fehler in dieser Zeile hin:

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

Wie kann ich das Problem lösen?

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

Das obige Beispiel ist nicht korrekt (Syntaxfehler). Es bedeutet, dass Sie data[10] ein Array zuweisen, das nur ein Element enthalten kann.

Wenn Sie ein Array initialisieren wollen, versuchen Sie es mit 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};

Beachten Sie den Unterschied zwischen den beiden Deklarationen. Wenn Sie einer deklarierten Variablen ein neues Array zuweisen, müssen Sie new verwenden.

Selbst wenn Sie die Syntax korrigieren, ist der Zugriff auf data[10] immer noch falsch (Sie können nur auf data[0] bis data[9] zugreifen, da der Index von Arrays in Java 0-basiert ist). Der Zugriff auf data[10] wird eine ArrayIndexOutOfBoundsException auslösen.

Kommentare (3)

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

Kommentare (1)

Sie versuchen, das 10. Element des Arrays auf das Array try zu setzen

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

FTFY

Kommentare (0)