我需要解析我的main方法,看看boolean是设置为true还是false,但是每次运行它都会被设置为false。
当我去运行程序时,这是我的交互输出:
> java ScraperTestRunner1 true, "/Desktop/imputfile.txt"
2
false
/Desktop/imputfile.txt
这个主要方法的代码是:
public static void main(String[] args){
System.out.println(args.length);
if (args.length == 2) {
docketBoolean = Boolean.parseBoolean(args[0]);
inputDateFileString = (args[1]);
System.out.println(docketBoolean);
System.out.println(inputDateFileString);
在我检查args.length是否为1之前,只搜索了布尔值,它会给我正确的布尔值,但现在却没有。知道为什么会这样吗?
答案 0 :(得分:6)
您正在解析的"true,"
与"true"
相同。
删除调用中的逗号:
java ScraperTestRunner1 true "/Desktop/imputfile.txt"
命令行参数未指定为以逗号分隔的列表;它们是空格分隔的(使用双引号以允许参数中的空格)。
答案 1 :(得分:1)
命令行参数以空格分隔,而不是以逗号分隔。尝试:
java ScraperTestRunner1 true "/Desktop/imputfile.txt"
现在看来,Boolean正在解析“true”,从它的角度来看它是错误的。