【发布时间】:2013-12-20 10:06:57
【问题描述】:
我见过两种不同的方式来声明 String 数组,但我不明白其中的区别。谁能解释一下有什么区别
String args[]
和
String[] args
【问题讨论】:
我见过两种不同的方式来声明 String 数组,但我不明白其中的区别。谁能解释一下有什么区别
String args[]
和
String[] args
【问题讨论】:
没有区别(在 Java 中)。它们完全一样。来自JLS §10.2:
[] 可以作为类型的一部分出现在声明的开头,或者作为特定变量的声明符的一部分,或者两者兼而有之。
【讨论】:
它们没有区别,但我更喜欢类型后面的括号 - 更容易看出变量的类型是数组,而且更易读。
但这始终取决于开发人员他会采用哪种方法以及使用起来更舒服。见@T.J。指官方文档的 Crowder 答案。
【讨论】:
唯一的区别是如果您声明一个变量并添加更多字段。
String args[], array[]; // array is String[]
String[] args, array[]; // array is String[][]
但是,如果你提到你的主要方法,我更喜欢使用
public static void main(String... args) {
或者如果参数被忽略
public static void main(String... ignored) {
String... 与String[] 非常相似,只是它可以使用可变参数而不是数组来调用。例如
MyClass.main("Hello", "World");
顺便说一句,一个很好的例子说明为什么我不喜欢变量后面的[],因为类型是String[]而不是String .... ??
这实际上是编译
public int method(String args[])[] {
与
相同public int[] method(String[] args) {
但我认为后者更好。
【讨论】:
String args[]和String[] args没有区别。两种方式都是一样的。
【讨论】:
它们之间没有区别。它们都是数组的声明。对于 Java 编译器,它们是相同的。只需声明一个数组变量
【讨论】: