【问题标题】:Could you technically call the string[] anything in the main method?从技术上讲,您可以在 main 方法中调用 string[] 吗?
【发布时间】:2017-03-08 19:31:23
【问题描述】:

main 方法的标头是

public static void main (String[] args)

您能在技术上用您想要的任何东西替换“args”吗?还有,为什么参数是数组?

【问题讨论】:

  • 你能用你想要的任何东西从技术上替换“args”吗?你为什么不试试呢? 还有,为什么参数是数组?所以你可以传递多个命令行参数。
  • 您可以使用任何适当的 Java 标识符对其进行重命名。例如,您可以使用foo,但不能将其命名为1array,因为变量名不能以数字开头。我们称它为 args 是“参数”的缩写,当我们通过 java YourClassWithMainMethod arg0 arg1 arg2 运行此代码时传递这些参数。
  • 是的,您可以将其重命名为您想要的任何名称。该类型是一个数组,因为这就是它的实现方式。数组中的每个元素都包含一个来自命令行的标记。
  • 签名基于main function of C programs,其声明一般为int main(int argc, char *argv[])。 Java 不需要argc,因为它的数组有一个长度字段。

标签: java syntax header args main-method


【解决方案1】:

args 只是方法中参数的名称。您可以将其重命名为您想要的任何名称。 JVM 不需要知道参数是什么命名;只有类型String[],是重要的。

不要破坏应用程序的起点

 static void main(String[] whateverYouNeed)

【讨论】:

  • 只是补充这一点并解决问题的第二部分,它是一个数组,因为您可以传递多个参数(用空格引用或分隔)例如 java main somearg someotherarg "some third arg" 将导致您的 String[]参数为{"somearg","someotherarg","some third arg"}
【解决方案2】:

您可以将其重命名为任何适当的 Java 标识符。应用程序需要能够接受多个命令行参数。不一定是数组,也可以使用varargs

 static void main(String... whateverYouNeed)

【讨论】:

    【解决方案3】:

    main方法可以写成:

    • public static void main (String[] args)
    • public static void main (String args[])
    • public static void main (String...args)

    参数名称​​args 可以替换为任何有效的Java 标识符,如blahprogramArgs 等。它是一个接受任意数量命令行参数的数组。例如:

    • java programName 没有命令行参数
    • java programName arg1 arg2 有 2 个命令行参数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-09
      • 2011-12-24
      • 1970-01-01
      • 2011-04-03
      • 2019-06-06
      • 2016-03-23
      • 1970-01-01
      • 2011-02-02
      相关资源
      最近更新 更多