[英]Is there a difference between main(String args[]) and main(String[] args)?
是否有区别:
public void main(String args[]) { ... }
和
public void main(String[] args) { ... }
我不相信,但我想知道。
在语义上,它们是相同的。 但是,我建议在声明数组时使用后一种语法( String[] args
)。 前一种语法主要是为了与 C 语法兼容。
由于String[]
整体而言是 Java 中对象的类型,因此不拆分它会更加一致和清晰。
一个类似的问题解决了方法参数列表之后的[]
。
没有区别,但将括号放在类型 ( String[]
) 之后是 Java 中更常见的做法。
两者完全相同。 请参阅 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 类型的数组,但第二种更受欢迎,因为使用它,您可以同时创建多个 String 数组... 例如String[] a,b;
在这里,您同时创建了两个字符串数组 a 和 b。
然而
String a[],b;
将创建字符串数组 "a" 和字符串变量(不是数组) b 。
希望这能澄清。
不
它们只是两种写作风格
方法签名是相同的,所以没有区别。
它是一个公共方法,它不返回任何内容,方法名称是“main”,它采用一个 String 数组。
它们之间的区别在于,当我们尝试使用静态语法从一个类手动调用 main 方法到另一个类时,我们使用“string[] s”。 那时我们必须在 main 方法中传递一个字符串类型的数组作为参数。 当我们使用 "String... s" 时,不需要将任何字符串数组作为参数传递。 它将运行,如果您将数组作为参数传递与否无关紧要(如果您没有明确传递它,它会自行传递)......因此证明//////////
不。 两者没有区别。
请Declaring a Variable to Refer to an Array
本文档中的Declaring a Variable to Refer to an Array
部分。 从那个文档
浮动 anArrayOfFloats[]; // 这种形式是不鼓励的
所以只需使用第二种样式。
String args[] 和 String[] args 是相同的。 从某种意义上说,他们做同样的事情,创建一个名为 args 的字符串数组。
但是为了避免混淆并强制与您可能遇到的所有其他 Java 代码兼容,我建议在声明数组时使用语法 (String[] args)。
您可能会遇到的一种困惑是,当您尝试在一行中声明多个 String 数组时,那么String[] fruits, vegetables
将与String fruits[], vegetables
前者创建了两个字符串数组fruits和蔬菜,而后者创建了一个水果字符串数组和一个蔬菜字符串变量
有区别:例如,如果你写 int[] arr; - 这里 arr 是对整数数组的引用,而在 int arr[] 的情况下; - arr 是一个原始的 int 类型数组
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.