今天偶然想把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。
这次的转换就可以了。。。。结果分别是:false , true , false , true , false
所以,转换时就直接用parseBoolean好了
以上就是小编为大家带来的java string类型转换boolean类型的方法全部内容了,希望大家多多支持呐喊教程~