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); }}//运行结果truetruetruefalsefalsefalse2. 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); }}//运行结果truefalse2. Boolean.valueOf(String) 与 Boolean(String)
a. Boolean 类有静态工厂方法 Boolean.valueOf(String) ,可以直接返回布尔类型的值,不需要开辟内存空间;
b. 通过构造器 Boolean(String) 获取返回的布尔值时,都会创建一个新的对象,而这正是我们需要避免的;
c. 因此,对于同时提供了静态工厂方法和构造器的不可变类,通常可以使用静态工厂方法而不是构造器,以避免创建不必要的对象。(*引自《Effective Java 中文版第2版》p17 第五条)