diferença entre 'class [] arrayname' e 'class arrayname []' [duplicate]

Sep 25 2020

Eu não entendo a diferença entre

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

e

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

Existe alguma diferença entre colocar colchetes após o tipo ( String[]) e após o nome do array ( String arrayName[])?
Se sim, o quê?

Respostas

4 Mureinik Sep 25 2020 at 12:25

Ambas as declarações terão o mesmo resultado. A diferença é apenas estilística. Dito isso, a maioria dos guias de estilo Java recomendaria ter colchetes no nome do tipo, não no nome da variável, ou seja:

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

Eles são quase iguais, com uma pequena pegadinha semântica.

De:

String[] array;
  1. Você declara a variável nomeada arrayque é do tipo String [] (array String);
  2. Neste código, você pode declarar outras variáveis ​​in-line, com o mesmo String[]type ( String[] array1, array2;);

De:

String array[];
  1. Você declara uma variável que se referirá ao objeto da matriz, cujos elementos devem ser do tipo java.lang.String;
  2. Você pode ter algo como String array[], name, surname;que não é realmente um código decente para escrever, mas a semântica Java não bloqueia isso.