'class[] arrayname' 和 'class arrayname[]' 之间的区别

difference between 'class[] arrayname' and 'class arrayname[]'

我不明白

之间的区别

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

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

类型后方括号(String[])和数组名后方括号(String arrayName[])有区别吗?
如果是,是什么?

两个声明将有相同的结果。区别只是风格上的。话虽如此,大多数 Java 风格指南会建议在类型名称而不是变量名称上使用方括号,即:

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

它们几乎相同,只是在语义上有所不同。

作者:

String[] array;
  1. 你声明了名为array的变量,类型为String[](字符串数组);
  2. 在此代码中,您可以声明其他变量in-line,具有相同的String[]类型(String[] array1, array2;);

作者:

String array[];
  1. 您声明了一个将引用数组对象的变量,其中的元素必须是java.lang.String;
  2. 的类型
  3. 你可以有类似 String array[], name, surname; 的东西,这并不是真正适合编写的代码,但是 Java 语义不会阻止它。