È necessario initializeerrorSoon
, come indicato dal messaggio di errore, hai solo declared esso.
String[] errorSoon; // <--declared statement
String[] errorSoon = new String[100]; // <--initialized statement
è necessario inizializzare l'array in modo che possa allocare la memoria corretta per i String
elementi prima è possibile avviare l'impostazione dell'indice.
Se solo dichiara la matrice (come avete fatto) non c'è memoria allocata per gli String
elementi, ma solo una maniglia riferimento errorSoon
, e genera un errore quando si tenta di inizializzare una variabile in qualsiasi indice .
Come nota laterale, si potrebbe anche inizializzare l'array String
all'interno delle parentesi, { }
come così,
String[] errorSoon = {"Hello", "World"};
che equivale a
String[] errorSoon = new String[2];
errorSoon[0] = "Hello";
errorSoon[1] = "World";
fonte
2010-04-01 23:40:41
E 'un peccato che non è possibile utilizzare() per creare un'istanza di ogni stringa in la tua matrice con un valore predefinito. Un array di 5 stringhe vuote dovrebbe essere = new Array [5] (""); invece di = {"", "", "", "", ""}. –
Utilizzare un ciclo for. –