主方法中字符串数组的不同表示法有什么不同



在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变量方法参数列表与数组

相关内容

  • 没有找到相关文章