HOWTO · Java

Inizializza un array di stringhe in Java

L'articolo introduce i metodi per inizializzare un array String in Java

In questa pagina

Questo tutorial introduce i metodi per inizializzare un array di stringhe in Java.

L’array Java ha una lunghezza fissa; pertanto, dobbiamo dichiarare un array e inizializzarlo in modo che possa allocare la corretta memoria di memoria per gli elementi. Se dichiariamo solo l’array, non c’è memoria allocata per gli elementi e verrà generato un errore quando si tenta di assegnare un valore a qualsiasi indice dell’array.

Inizializza l’array sul valore predefinito in Java

L’esempio seguente illustra come inizializzare un array String in Java. Crea un array della lunghezza specificata contenente i valori di default null in tutti gli indici, impostati successivamente sul valore desiderato.

public class MyClass {
  public static void main(String args[]) {
    String[] myArr;
    myArr = new String[5];
    myArr[0] = "First";

    for (int i = 0; i < myArr.length; i++) {
      System.out.println(myArr[i]);
    }
  }
}

Produzione:

First
null
null
null
null

Abbiamo riassegnato il valore al primo indice a "First" mentre tutti gli altri indici contengono il valore predefinito null.

Vediamo cosa succede se proviamo ad assegnare un valore a qualsiasi indice di array senza inizializzare l’array.

public class MyClass {
  public static void main(String args[]) {
    String[] myArr;
    myArr[0] = "First";
  }
}

Produzione:

/MyClass.java:4: error: variable myArr might not have been initialized
        myArr[0] = "First";
        ^
1 error

Inizializza array su valori diretti in Java

Possiamo anche inizializzare un array con i valori di cui abbiamo bisogno nell’array. In questo caso, la lunghezza dell’array sarebbe fissata al numero di elementi su cui lo inizializziamo. L’esempio seguente lo illustra:

public class MyClass {
  public static void main(String args[]) {
    String[] myArr = {"First", "Second"};

    for (int i = 0; i < myArr.length; i++) {
      System.out.println(myArr[i]);
    }
  }
}

Produzione:

First
Second

Il blocco di codice precedente ha creato un array di lunghezza 2 poiché abbiamo fornito 2 valori nell’inizializzazione.

Inizializza array su valori utilizzando Stream in Java

Per Java 8 e versioni successive, possiamo utilizzare Stream per inizializzare un array di stringhe con valori dati. L’esempio seguente lo illustra:

import java.util.stream.*;
public class MyClass {
  public static void main(String args[]) {
    String[] strings = Stream.of("First", "Second", "Third").toArray(String[] ::new);
    for (int i = 0; i < strings.length; i++) {
      System.out.println(strings[i]);
    }
  }
}

Produzione:

First
Second
Third