Boolean.valueOf(boolean) 與 Boolean.valueOf(String) 的區別
阿新 • • 發佈:2018-12-15
1. Boolean.valueOf(String)用法
a. 當 String 的引數值在不區分大小寫的時候等於 "true" ,則 Boolean.valueOf(String) 返回值為 true;
b. 否則返回值為 false ,引數為空時也返回 false 。.
/** * Boolean.valueOf(String) */ public class BooleanTest { public static void main(String[] args) { boolean a = Boolean.valueOf("true"); boolean b = Boolean.valueOf("TRUE"); boolean c = Boolean.valueOf("tRUE"); boolean d = Boolean.valueOf("abc"); boolean b = Boolean.valueOf("false"); boolean e = Boolean.valueOf(""); System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); System.out.println(e); System.out.println(f); } } //執行結果 true true true false false false
2. Boolean.valueOf(boolean)用法
a. 當 boolean 型別的引數值為 true ,返回值為 true ;
b. 當 boolean 型別的引數值為 false ,返回值為 false 。
/** * Boolean.valueOf(boolean) */ public class BooleanTest { public static void main(String[] args) { boolean a = Boolean.valueOf(true); boolean b = Boolean.valueOf(false); System.out.println(a); System.out.println(b); } } //執行結果 true false
2. Boolean.valueOf(String) 與 Boolean(String)
a. Boolean 類有靜態工廠方法 Boolean.valueOf(String) ,可以直接返回布林型別的值,不需要開闢記憶體空間;
b. 通過構造器 Boolean(String) 獲取返回的布林值時,都會建立一個新的物件,而這正是我們需要避免的;
c. 因此,對於同時提供了靜態工廠方法和構造器的不可變類,通常可以使用靜態工廠方法而不是構造器,以避免建立不必要的物件。(*引自《Effective Java 中文版第2版》p17 第五條)