方法 Boolean.getBoolean() 常常與 Boolean.valueOf() 或 Boolean.parseBoolean() 方法調用混淆。
在多數情況下,由于是用 Boolean.getBoolean() 來返回指定字符串變量表示的布爾值,因而導致 Boolean.getBoolean() 的調用使用不當。但是,正如 Javadoc Boolean.getBoolean(String) 方法所說,“當且僅當該參數表示的系統屬性存在且等于字符串 'true' 時,才會返回 true。”
絕大多數情況下,開發人員真正希望使用的是調用 Boolean.valueOf(String) 或 Boolean.parseBoolean(String) 方法。
例 1:下列代碼將不會按照期望的方式運行。它會輸出 "FALSE",因為 Boolean.getBoolean(String) 不會對基元型字符串進行轉換。它只能對系統屬性進行轉換。
...
String isValid = "true";
if ( Boolean.getBoolean(isValid) ) {
System.out.println("TRUE");
}
else {
System.out.println("FALSE");
}
...
[1] Class Boolean Oracle