5

当我尝试将String Object 转换为boolean时,结果是不同的。

String strFlag="true";
boolean boolFlag = Boolean.getBoolean(strFlag);

boolFlag最终有一个false价值。

4

7 回答 7

10

利用Boolean.valueOf

boolean boolFlag = Boolean.valueOf(strFlag);

此方法返回一个布尔值,其值由指定的字符串表示。返回的布尔值表示如果字符串参数不为空且等于字符串“true”,忽略大小写,则返回值 true。

于 2012-04-25T10:43:51.927 回答
8

使用Boolean.valueOf(String string)来实现您的目标。

boolean boolFlag = Boolean.valueOf(strFlag);

返回一个布尔值,其值由指定的 String 表示。返回的布尔值表示如果字符串参数不为空且等于字符串“true”,忽略大小写,则返回值 true。

示例:Boolean.valueOf("True")返回真。

示例:Boolean.valueOf("yes")返回 false。

从 java 1.5 开始,在大多数情况下,它还Boolean.parseBoolean(String s)返回原始类型boolean而不是装箱类型Boolean,以节省一些 CPU 周期。

于 2012-04-25T10:41:12.107 回答
4

Boolean.getBoolean测试给定的系统属性是否为真,你想要Boolean.parseBoolean

于 2012-04-25T10:44:10.623 回答
3

您可以使用

boolFlag = "true".equalsIgnoreCase(strFlag);
于 2012-04-25T10:41:06.087 回答
3

尝试使用Boolean.valueOf(strFlag)

于 2012-04-25T10:45:12.473 回答
3

利用Boolean.parseBoolean

boolean boolFlag = Boolean.parseBoolean(strFlag);

此方法返回一个布尔原始类型。它的工作原理与 Boolean.valueOf 相同,无需拆箱。

于 2012-04-25T11:06:02.320 回答
1

您可以使用以下

Boolean.parseBoolean

于 2012-04-25T12:08:32.377 回答