为什么Java只允许String [] args作为主要方法参数?

时间:2017-11-26 09:02:03

标签: java arrays main

为什么Java只允许main方法接受String[] args形式的参数?即一串字符串

public static void main(String[] args)

为什么Java不允许像

这样的int或double数组
public static void main(int[] args)

public static void main(double[] args

为什么它不允许单个字符串或int或float而不是字符串数组?类似的东西:

public static void main(String args)

public static void main(int i)

1 个答案:

答案 0 :(得分:3)

这是在命令行中运行java程序的方法:

java YourMainClass

命令行参数在此之后出现:

java YourMainClass arg1 arg2 arg3

这会使args字符串数组包含"arg1""arg2""arg3"。如果您将args数组设为int[],那么arg1将如何放入int

从JVM的角度来看,将命令行参数放在String中是最安全的选择。用户输入的任何内容都必须是一堆char s。

根据JLS,

第12.1.4节:

  

最后,完成类Test的初始化(期间)   其他相应的加载,链接和初始化可能有   发生了),调用了Test的方法main。

     

方法main必须声明为public,static和void。它必须   指定一个形式参数(第8.4.1节),其声明类型为数组   串