Вопрос-ответ

Difference between int[] array and int array[]

Разница между массивом int [] и массивом int[]

Недавно я задумался о разнице между двумя способами определения массива:


  1. int[] array

  2. int array[]

Есть ли разница?

Переведено автоматически
Ответ 1

Они семантически идентичны. int array[] Синтаксис был добавлен только для того, чтобы помочь программистам на C привыкнуть к Java.

int[] array гораздо предпочтительнее и менее запутанно.

Ответ 2

Есть одно небольшое отличие, если вам посчастливилось объявить более одной переменной в одном объявлении:

int[] a, b;  // Both a and b are arrays of type int
int c[], d; // WARNING: c is an array, but d is just a regular int

Обратите внимание, что это плохой стиль кодирования, хотя компилятор почти наверняка поймает вашу ошибку в тот момент, когда вы попытаетесь использовать d.

Ответ 3

Разницы нет.

Я предпочитаю type[] name формат, в котором ясно, что переменная представляет собой массив (меньше оглядываться по сторонам, чтобы узнать, что это такое).

Редактировать:

О, подождите, есть разница (я забыл, потому что я никогда не объявляю более одной переменной одновременно):

int[] foo, bar; // both are arrays
int foo[], bar; // foo is an array, bar is an int.
Ответ 4

Нет, это одно и то же. Однако

byte[] rowvector, colvector, matrix[];

эквивалентно:

byte rowvector[], colvector[], matrix[][];

Взято из спецификации Java. Это означает, что

int a[],b;
int[] a,b;

отличаются друг от друга. Я бы не рекомендовал ни одно из этих множественных объявлений. Проще всего прочитать (вероятно) было бы:

int[] a;
int[] b;
java arrays