【问题标题】:Boolean.getBoolean("true") returns falseBoolean.getBoolean("true") 返回 false
【发布时间】:2020-06-11 14:14:34
【问题描述】:

我正在尝试制作读取 ini 文件的函数。为什么Boolean.getBoolean("true") 返回false?如何在 java 1.4 中以正确的方式使用这个对话?是否取决于系统设置?

【问题讨论】:

  • 我认为您正在尝试获取一个名为“true”的布尔值

标签: java


【解决方案1】:

Boolean.getBoolean() 的参数需要系统属性的名称。你要找的是Boolean.valueOf("true")

【讨论】:

    【解决方案2】:

    getBoolean 方法将系统属性名称作为参数,而不是布尔值的字符串值。你需要的大概是Boolean.parseBoolean()

    【讨论】:

    • 这就是要走的路。 :)
    【解决方案3】:

    Boolean.getBoolean("true") 有这个 javaDoc:

    当且仅当参数命名的系统属性存在并且等于字符串“true”时才返回true。 (从 JavaTM 平台的 1.0.2 版开始,此字符串的测试不区分大小写。)系统属性可通过 getProperty 访问,getProperty 是由 System 类定义的方法。 如果没有指定名称的属性,或者指定名称为空或null,则返回false。

    您正在寻找 Boolean.valueOf("true")

    【讨论】:

      【解决方案4】:

      来自Boolean.getBoolean

      当且仅当由参数命名的系统属性存在并且等于字符串“true”时才返回 true。

      (从 JavaTM 平台的 1.0.2 版开始,此字符串的测试不区分大小写。)

      系统属性可通过 getProperty 访问,getProperty 是由 System 类定义的方法。 如果没有指定名称的属性,或者指定名称为空或null,则返回false。

      【讨论】:

        【解决方案5】:

        尝试使用Boolean.parseBoolean("true")

        【讨论】:

        • 虽然此代码可能会解决问题,including an explanation 关于如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请编辑您的答案以添加解释并说明适用的限制和假设
        猜你喜欢
        • 1970-01-01
        • 2017-05-02
        • 2012-02-27
        • 2011-01-17
        • 1970-01-01
        • 2015-10-03
        • 2013-09-18
        • 1970-01-01
        • 2017-07-29
        相关资源
        最近更新 更多