我在java中将参数传递给main
方法时使用了三种表示法。
public static void main(String[] args)
public static void main(String args[])
public static void main(String... args)
谁能告诉我上面的区别?有人使用术语打包和非打包数据来解释前两个,它们是什么,是否与这些有关?
我认为前两个与编码约定有些相关。我是对的吗?
答案 0 :(得分:2)
没有实际差异,变体是由于您在java语法中定义数组的不同方式。
定义和数组的标准方法
String [] args
C / C ++风格源于历史原因
String args []
Varargs风格(When do you use varargs in Java?)
String ... args
所有将编译为相同的字节码。
我会坚持public static void main(String[] args)
答案 1 :(得分:0)
前两个是相同的。
事实上,这三个在基地是相同的。但是第三种被称为varargs
并且具有特殊目的,即它可以用作方法中的可选参数。例如,如果您有一个需要参数int x, String... y
的方法,那么即使您调用参数而不传递String... y
作为参数参数,代码也会编译。更多信息请访问:Methods, Optional Parameters and/or Accepting multiple Data Types