Vedo spesso gli array di essere inizializzati in questo modo:Inizializzazione dell'array con valori - dovrei istanziare esplicitamente la classe o no?
String[] array = new String[] { "foo", "bar", "baz" };
Ma leggendo il Language Basics - Arrays evidenzia che il breve sintassi non richiede esplicitamente instancing il costruttore:
In alternativa, è possibile utilizzare la sintassi di collegamento per creare e inizializzare un array:
int[] anArray = { 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 };
Quindi, supponendo che questi due metodi di inizializzazione:
String[] array = new String[] { "foo", "bar", "baz" };
String[] array2 = { "foo", "bar", "baz" };
C'è qualche differenza tra questi? Entrambi sembrano funzionare allo stesso modo, in questo caso dovrei supporre che il secondo implichi implicitamente lo new String[]
e che il primo sia solo un modo più prolisso o ci sia dell'altro dietro le quinte?
A partire da Java, mi dispiace se questa è una domanda troppo stupida, ma non ho trovato nulla su questo nel web.
Mi piacciono i collegamenti spec, grazie mille. Ma credo che la risposta di NPE sia più chiara/semplice per i futuri utenti Java che potrebbero venire a leggere la domanda. +1 per entrambi in ogni caso. '=]' –