main(String args [])和main(String [] args)之间有区别吗?

Jér*_*nge 41 java coding-style argument-passing

是否有区别:

public void main(String args[]) { ... } 
Run Code Online (Sandbox Code Playgroud)

public void main(String[] args) { ... }
Run Code Online (Sandbox Code Playgroud)

我不相信,但我很疑惑.

Meh*_*ari 37

在语义上,它们是相同的.但是,我建议String[] args在声明数组时使用后面的语法().前一种语法主要是为了与C语法兼容.

因为String[],作为一个整体,它是Java中对象的类型,所以它更加一致和清晰,不会将其拆分.

一个类似的问题解决[]后,方法参数列表.


小智 6

两者完全相同。请参阅 Java 语言规范 (JLS) 以查看 java 中使用的语法。

String[] argsorString args[]将创建一个没有 size 和 name 的数组(在内存中保留一个位置)args

让我们考虑一下:

String [] x;
Run Code Online (Sandbox Code Playgroud)

[]名字放在后面可以避免这样的微妙问题:-

String x [] , y; //x[] is an array but y is a String
String [] x y ; //two arrays x[] and y[] both
Run Code Online (Sandbox Code Playgroud)


Col*_*inD 5

没有区别,但是在类型(String[])之后放括号是Java中更常见的做法.