我试图检测'a'是否作为第一个字符串参数输入.
如果您计划通过单个arg扩展,请使用apache commons cli.
"Apache Commons CLI库提供了一个API,用于解析传递给程序的命令行选项.它还能够打印详细说明命令行工具可用选项的帮助消息."
Commons CLI支持不同类型的选项:
POSIX之类的选项(即tar -zxvf foo.tar.gz)
GNU就像长选项(即du --human-readable --max-depth = 1)
类似Java的属性(即java -Djava.awt.headless = true -Djava.net.useSystemProxies = true Foo)
附加值的短选项(即gcc -O2 foo.c)
单个连字符的长选项(即ant -projecthelp)
public class YourClass { public static void main(String[] args) { if (args.length > 0 && args[0].equals("a")){ //... } } }
每个Java程序都以
public static void main(String[] args) {
类型的数组String
的是main()
作为一个参数保持命令行参数给程序.如果用户运行您的程序
$ java myProgram a
然后args[0]
将保持字符串"a".
命令行参数在第一个String[]
参数中传递给main()
,例如
public static void main( String[] args ) { }
在上面的示例中,args
包含所有命令行参数.
对提出的问题的简短而甜蜜的回答是:
public static void main( String[] args ) { if( args.length > 0 && args[0].equals( "a" ) ) { // first argument is "a" } else { // oh noes!? } }