Boolean.getBoolean(String name)这个方法经常误导使用者,使用者经常会以为是通过一个String的"true"转换为Boolean的true,但结果却不是这样的
想把 string="true" 转换成布尔类型 最好需要用valueOf 这个API
if(Boolean.valueOf("false")){System.out.println("false");}
if(Boolean.valueOf("true")){System.out.println("true");}//true
public static boolean getBoolean(String name)当且仅当以参数命名的系统属性存在,且等于 “true” 字符串时,才返回 true。(从 JavaTM 1.0.2 平台开始,字符串的测试不再区分大
小写。)通过 getProperty 方法可访问系统属性,此方法由 System 类定义。
如果没有以指定名称命名的属性或者指定名称为空或 null,则返回 false。
参数:
name - 系统属性名。
返回:
系统属性的 boolean 值。
另请参见:
System.getProperty(java.lang.String), System.getProperty(java.lang.String, java.lang.String)
这里需要注意的是“系统属性”,也就是说getBoolean是用于访问Java系统属性的方法,与将字符串"true"转成boolean的true没有任何关系。
换句话说这个getBoolean不是转换方法,而是获取Java系统属性的方法。
正确用法:boolean repeatIndicator = Boolean.valueOf(“true”).booleanValue();
或者也可以使用Boolean.parseBoolean()方法,但此方法是jdk1.5以后推出的。