В первом примере, все информация о типе находится в одном месте - тип переменной - «массив dataType
», так это то, что говорит dataType[]
.
Почему у вас есть два аспекта информации о типе в разных местах - один с именем типа элемента и один с переменной?
Обратите внимание, что вы можете сделать действительно запутанные вещи:
int[] x[]; // Equivalent to int[][] x
и
int foo()[] // Equivalent to int[] foo()
Ик!
Также обратите внимание, что синтаксис массива ближе к обобщенному синтаксису, если позже вы захотите использовать тип коллекции вместо массива. Например:
String[] foo
к
List<String> foo
В принципе, синтаксис int foo[]
был включен только в Java, чтобы сделать его более похожим C и C++. Лично я считаю, что это было ошибкой - она никогда не может быть удален из языка в настоящее время, несмотря на то, что он сильно обескуражен :(
в зависимости от того, что более читаемо для вас и ваших коллег-кодеров. Отсутствие различий в поведении/производительности, кроме удобочитаемости. –
@JunedAhsan: Ну, в зависимости от того, что вам больше всего читается * и всем, кто читает ваш код *. –
формат содержимого согласно рекомендациям проводки. – askb