如何将字符串对象转换为布尔对象?

如何将 "String "对象转换为 "Boolean "对象?

解决办法

尝试(取决于你想要的结果类型)。

Boolean boolean1 = Boolean.valueOf("true");
boolean boolean2 = Boolean.parseBoolean("true");

优势。

  • 布尔型:这不会创建新的布尔型实例,所以性能更好(而且垃圾收集更少)。它重用了Boolean.TRUEBoolean.FALSE的两个实例。
  • 布尔型:不需要实例,你使用原始类型。

官方文档在Javadoc中。


更新了。

也可以使用自动驾驶,但它有一个性能成本。
我建议只在你不得不自己投掷时使用,而不是在可以避免投掷时使用。

评论(4)

在使用Boolean.valueOf(string)Boolean.parseBoolean(string)时,你必须要小心谨慎。原因是,如果字符串不等于"true",这些方法将总是返回false(案例被忽略)。

比如说

Boolean.valueOf("YES") -> false

由于这种行为,我建议添加一些机制来确保应该被翻译成布尔值的字符串遵循指定的格式。

比如说。

if (string.equalsIgnoreCase("true") || string.equalsIgnoreCase("false")) {
    Boolean.valueOf(string)
    // do something   
} else {
    // throw some exception
}
评论(3)
Boolean b = Boolean.valueOf(string);

如果字符串不是空的并且等于true,则b的值为真(忽略大小写)。

评论(0)