String s1 = "true";
String s2 = "false";
System.out.println(Boolean.getBoolean(s1));
System.out.println(Boolean.getBoolean(s2));
运行结果:
false
false
===============================================
System.out.println(Boolean.parseBoolean(s1));
System.out.println(Boolean.parseBoolean(s2));
运行结果:
true
false
具体原因,查看api后:
getBoolean(String name):
当且仅当以参数命名的系统属性存在,且等于 "true" 字符串时,才返回 true。(从 JavaTM 平台的 1.0.2 版本开始,字符串的测试不再区分大小写。)通过 getProperty 方法可访问系统属性,此方法由 System 类定义。如果没有以指定名称命名的属性或者指定名称为空或 null,则返回 false。
parseBoolean(String name):
将字符串参数解析为 boolean 值。如果 String 参数不是 null 且在忽略大小写时等于 "true",则返回的 boolean 表示 true 值。
示例:Boolean.parseBoolean("True") 返回 true。
示例:Boolean.parseBoolean("yes") 返回 false。