今天偶然想把string 类型转换成 boolean 类型 ,查了下api文档,发现文档似乎有点不太对经。。。
嗯,就直接发测试代码吧,废话懒得说了。。。
String s1 = "false";
String s2 = "true";
String s3 = "fAlSe";
String s4 = "TrUe";
String s5 = "true_a";
以上的string 分别用
Boolean.getBoolean(s1);
Boolean.getBoolean(s2)
Boolean.getBoolean(s3);
Boolean.getBoolean(s4);
Boolean.getBoolean(s5);
以上5个的返回的值都为 false
api文档是这样说的:
getBoolean
public static boolean getBoolean(String name)
-
当且仅当以参数命名的系统属性存在,且等于
"true"字符串时,才返回true。(从 JavaTM 平台的 1.0.2 版本开始,字符串的测试不再区分大小写。)通过getProperty方法可访问系统属性,此方法由System类定义。如果没有以指定名称命名的属性或者指定名称为空或 null,则返回
false。
但结果我也不知道为什么会这样的咧。。。
嗯,结果都是false,那我们要转换怎么办呢,没事,还有另外一个方法 叫 Boolean.parseBoolean(string s);
Boolean.parseBoolean(s1); Boolean.parseBoolean(s2) Boolean.parseBoolean(s3); Boolean.parseBoolean(s4); Boolean.parseBoolean(s5); -
api文档是这样写的:
public static boolean parseBoolean(String s)-
将字符串参数解析为 boolean 值。如果 String 参数不是
null且在忽略大小写时等于"true",则返回的boolean表示 true 值。示例:
Boolean.parseBoolean("True")返回 true。
示例:Boolean.parseBoolean("yes")返回 false。
-
将字符串参数解析为 boolean 值。如果 String 参数不是
这次的转换就可以了。。。。结果分别是:false , true , false , true , false
所以,转换时就直接用 parseBoolean 好了
本文探讨了Java中将String类型转换为boolean类型的方法。通过对比使用Boolean.getBoolean与Boolean.parseBoolean的区别,解释了如何正确进行类型转换。
683

被折叠的 条评论
为什么被折叠?



