有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

为什么Java只允许main方法采用String[] args形式的参数?i、 将一个字符串数组

public static void main(String[] args)

为什么Java不允许int或double-like数组

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) 个答案

  1. # 1 楼答案

    以下是在命令行中运行java程序的方式:

    java YourMainClass
    

    命令行参数紧随其后:

    java YourMainClass arg1 arg2 arg3
    

    这将使args字符串数组包含"arg1""arg2""arg3"。如果你把args数组变成int[],那么arg1到底要怎么放到int中呢

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

    根据JLS

    第12.1.4节:

    Finally, after completion of the initialization for class Test (during which other consequential loading, linking, and initializing may have occurred), the method main of Test is invoked.

    The method main must be declared public, static, and void. It must specify a formal parameter (§8.4.1) whose declared type is array of String.