为什么我们不能在Java的main函数中为String提供值数组?

时间:2016-01-21 03:01:23

标签: java command-prompt

class HelloWorld{
    public static void main(String args[4]){
        System.out.println("Hello World!");
    }
}

给String args [4]是错误的吗?为什么我们不能在String args [4]中提到任何值?但我们应该得到一个输出为地狱,但是有些错误。代码没有正确执行。

2 个答案:

答案 0 :(得分:2)

您将args作为参数。程序运行时会创建该数组。 args数组的内容在编译时是未知的(甚至不是它的大小),因此在编译时对大小进行断言是没有意义的。因此,数组永远不会在类型签名中包含其长度。

如果你真的需要检查大小,正确的方法是写一个条件,例如:

if (args.length != 4) {
    //do some error handling stuff
}

答案 1 :(得分:0)

您的代码应如下所示,当您通过命令行运行程序时,将使用args []。在您的情况下,您将编译程序并使用此命令java HelloWorld someArgument1 someArgument2运行它,此命令在此命令中根据需要从命令行添加任意数量的参数并在代码中访问它们。例如,args[0]将是' someArgument1'在这种情况下。但是,如果您不想提供参数,只需运行您的程序而不提供java HelloWorld参数。

class HelloWorld{
public static void main(String[] args){
        System.out.println("Hello World!");
    }
}

我希望这会有所帮助。干杯,,