differenza tra "class [] arrayname" e "class arrayname []" [duplicato]

Sep 25 2020

Non capisco la differenza tra

String[] arrayName = {/*some data here*/};

e

String arrayName[] = {/*some data here*/};

C'è qualche differenza tra l'inserimento di parentesi quadre dopo il tipo ( String[]) e dopo il nome dell'array ( String arrayName[])?
E allora?

Risposte

4 Mureinik Sep 25 2020 at 12:25

Entrambe le dichiarazioni avranno lo stesso risultato. La differenza è solo stilistica. Detto questo, la maggior parte delle guide di stile Java consiglia di inserire le parentesi quadre sul nome del tipo, non sul nome della variabile, ovvero:

String[] arrayName = {/*some data here*/};
1 GiorgiTsiklauri Sep 25 2020 at 12:28

Sono quasi uguali, con un piccolo problema semantico.

Di:

String[] array;
  1. Dichiari la variabile denominata arrayche è del tipo String [] (String array);
  2. In questo codice, puoi dichiarare altre variabili in linea, con lo stesso String[]tipo ( String[] array1, array2;);

Di:

String array[];
  1. Dichiarate una variabile che farà riferimento all'oggetto array, i cui elementi devono essere di tipo java.lang.String;
  2. Puoi avere qualcosa di simile String array[], name, surname;che non è davvero un codice decente da scrivere, ma la semantica Java non lo blocca.