【发布时间】:2012-02-07 17:55:04
【问题描述】:
我想知道如何比较传递给 java main 方法的参数。
eg java hello -i
我尝试打印 args[0],它确实给了我 -i。但是我想要实现的是:
if args.length == 0 {
do something
}
else if args[0] =="-i"{
do something
}
但是我一直在获取索引超出范围的异常。无论如何将字符串数组 args 中的字符串转换为字符串类型以便我可以比较它?
public static void main(String[] args) {
if args.length == 0 {
do something
}
else if args[0] =="-i"
do something
}
}
例如,如果他们在没有任何参数的情况下启动程序,我将调用 init() 方法。但如果他们输入 -i 作为参数,我将调用 install() 代替..
【问题讨论】:
-
您需要向我们展示实际代码。
-
要检查字符串是否相等,您必须使用
equals。此外,在else子句中,您使用arg而不是args。 -
有点离题,但不要使用'=='比较字符串。比较参考;使用
"-i".equals(args[0])。 -
因为编写这种代码很乏味,许多开发人员创建了自己的库类来处理
main方法的参数。我自己的库类可以在on Github 找到,它允许您简单地指定一个名为“i”的标志是允许的,然后允许您在调用 Java 应用程序时检查它是否提供。
标签: java arrays arguments main