这两者之间有什么不同吗:
public void main(String args[]) { ... }
和
public void main(String[] args) { ... }
我不这样认为,但我很好奇。
这两者之间有什么不同吗:
public void main(String args[]) { ... }
和
public void main(String[] args) { ... }
我不这样认为,但我很好奇。
从含义上来说,它们是相同的。然而,在声明数组时,我建议使用后一种语法(String[] args
)。前一种语法主要是为了与C语法兼容。
由于String[]
作为一个整体是Java中对象的类型,因此不要将其拆分更加一致和清晰。
类似的问题解决了方法参数列表后面的[]
。
在Java中,使用类型后面的括号 (String[]
) 没有任何区别,但这是更常见的做法。
它们两个完全相同。请参考 Java 语言规范 (JLS) 查看 Java 中使用的语法。
String[] args
或 String args[]
将创建一个数组(在内存中预留了一些空间),该数组没有大小,名称为 args
。
让我们考虑:
String [] x;
[]
放在名称后面可以避免出现这样的微妙问题:String x [] , y; //x[] is an array but y is a String
String [] x y ; //two arrays x[] and y[] both
String[] a,b;
在这里,您已经同时创建了两个String数组a和b。String a[],b;
将会创建一个名为"a"的String数组和一个名为"b"的String变量(不是数组)。不需要
它们只是两种写作风格
方法签名相同,因此没有区别。
这是一个公共方法,不返回任何内容,方法名称为“main”,它接受一个字符串数组。
不是的。这两者之间没有区别。
请参阅this doc中的声明变量以引用数组
部分。从该文档中可以看到:
float anArrayOfFloats[]; // 不建议使用这种形式
因此,只需使用第二种样式即可。
String args[] 和 String[] args 是相同的。它们的作用是创建一个名为 args 的字符串数组。
但为了避免混淆并确保与您可能遇到的所有其他 Java 代码兼容,建议在声明数组时使用语法 (String[] args)。
您可能会遇到的一个困惑是当您尝试在一行中声明多个 String 数组时, String[] fruits, vegetables
不同于 String fruits[], vegetables
前者创建两个字符串数组 fruits 和 vegetables,而后者创建了一个名为 fruits 的字符串数组和一个名为 vegetables 的字符串变量。
args
是一个String
数组,而不是一个args
数组。 - josh.trow