主方法parseBoolean不起作用

时间:2014-02-24 19:47:27

标签: java boolean main

我需要解析我的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之前,只搜索了布尔值,它会给我正确的布尔值,但现在却没有。知道为什么会这样吗?

2 个答案:

答案 0 :(得分:6)

您正在解析的"true," "true"相同。

删除调用中的逗号:

java ScraperTestRunner1 true "/Desktop/imputfile.txt"

命令行参数未指定为以逗号分隔的列表;它们是空格分隔的(使用双引号以允许参数中的空格)。

答案 1 :(得分:1)

命令行参数以空格分隔,而不是以逗号分隔。尝试:

java ScraperTestRunner1 true "/Desktop/imputfile.txt"

现在看来,Boolean正在解析“true”,从它的角度来看它是错误的。