在运行配置中使用String作为参数并在if语句中使用它

时间:2011-12-01 23:46:37

标签: java string if-statement args

只要运行配置中的参数等于“-output”,下面的代码就可以工作。但是当参数为空时,编译器抛出和ArrayOutOfBoundsException。

这段代码的重点最终将是; - 在运行配置参数中写入-output时执行操作 - 如果参数为空或与-output不同,则执行其他操作

我发现很多问题看起来像这个问题。但是我一直在研究解决方案,所以我开了一个新帖子。非常感谢帮助。

...
public static void main(String[] args) {
        Version_5 v5 = new Version_5("Test");
        {
            if(args[0].equals("-output")){
                System.out.println("It works");
            }
        }
    }
...

2 个答案:

答案 0 :(得分:1)

你需要先检查你是否有参数,这就是全部。

if ((args.length > 0) && (args[0].equals("-output")) {
    ...

您也可以考虑使用参数解析库,其中有几个。

有什么额外的括号?

答案 1 :(得分:1)

如您所见,String args[]是一个具有特定大小的数组。如果未传递参数,则大小为零。在检查args[0]处的内容之前,请检查args的大小是否为args.length

if (args.length>0){
   //do something
}
else if (args[0].equals("-output")){
   System.out.println("It works");
}