Java中的数组语法:[]位置的意义是什么?

8
String S[] = new String[3];
String[] S = new String[3];

在Java中,这两种方式都是正确的。那么是否意味着对于每种类型Type[] xType x[]是相同的?

4
我认为这更恰当地应该称为“Java中的语法”,但这并不是一个大问题。 - awksp
2
请在获得100个“是的,它们是相同的”答案之前关闭。 - MarioDS
5个回答

28

区别在于如果你在同一行上声明多个变量:

String A[], B, C;

这将导致 A 成为字符串数组,而 B 和 C 是字符串。

String[] A, B, C;

这将导致A、B和C都成为字符串数组。


8
我们有赢家了,想得真好。 - MarioDS

3

既然已经有很多答案了,我只想补充一些内容。

在IT技术方面,我们已经有许多答案。
//Valid declarations
String[]array;//With No Space
String[] a;
String []b;//<-----
String c[];
String[] d,e,f;
String g[],h[],i[];
String[] []y;
String[] []z[];
String []p[];
etc.

String v[],[]w;<----Not Allowed

3

是的,两者都是相同的。

String[] s; 更易读,因为如果您有成千上万行代码,有时会将 String s[] 误读为 String s

但在 String[] s 中,您将正确地读取为字符串数组。


此外,如果您在一行中声明多个变量

例如: String[] x,y,z;

String x[],y,z; 您可以轻松区分它们之间的差异。


2

没错,完全一样。你可以用 public static void main(String[] args) 或者 public static void main(String args[]) 来编写你的主方法(或者任何其它合适的方式)。建议你选择一个在你看来更有意义的标准化写法(大概率是 String[])。决定权在你手中。


1
是的,两者是相同的。第二个更有意义,因为它直接读取了一个字符串数组s

嗯,你可以说"s是一个String数组",这样说起来有道理,而"s数组是一个String(嗯?)",但那只是一个人为的例子,最终还是取决于个人偏好,最终你仍然会单独使用s - awksp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接