java string类型转换boolean类型

今天偶然想把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好了



版权声明:本文为tangcaijun原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。