在java中将参数传递给main
方法时,我使用了三种类型的表示法public static void main(String[] args)
public static void main(String args[])
public static void main(String... args)
有人能告诉我上面的区别吗?有人用术语"压缩数据"one_answers"非压缩数据"来解释前两个,它们是什么,和它们有关吗
我认为前两个在某种程度上与编码惯例有关。我说得对吗?
没有实际的区别,变体是由于在java语法中定义数组的方式不同。
-
定义和排列的标准方法
字符串[]参数
-
C/C++风格存在的历史原因
字符串参数[]
-
Varargs风格(你什么时候在Java中使用Varargs?)
字符串…args
所有这些都将编译为相同的字节码。我会坚持
public static void main(String[] args)
前两个是相同的。
事实上,三者在底部都是相同的。但第三种被称为varargs
,它有一个特殊的用途,那就是它可以用作方法中的可选参数。例如,如果您有一个方法需要参数int x, String... y
,那么即使您在不将String... y
作为参数参数传递的情况下调用该参数,代码也会编译。此处的更多信息:方法、可选参数和/或接受多种数据类型
还要检查以下内容:Java变量方法参数列表与数组