Effective Java学习记录一
第一条:考虑用静态工厂方法代替构造器
类可以提供一个公有的静态工厂方法(static factory method),它只是一个返回类的实例的静态方法。
以JDK Boolean类的源代码举例:
1 /** 2 * The {@code Boolean} object corresponding to the primitive 3 * value {@code true}. 4 */ 5 public static final Boolean TRUE = new Boolean(true); 6 7 /** 8 * The {@code Boolean} object corresponding to the primitive 9 * value {@code false}. 10 */ 11 public static final Boolean FALSE = new Boolean(false); 12 13 14 //Boolean类是boolean基本类型的包装类 15 public static Boolean valueOf(boolean b) { 16 return (b ? TRUE : FALSE); 17 }
上面的方法将boolean基本类型的值转换成了一个Boolean对象的引用,并且多次调用该方法,均返回的指向同一个TRUE或FALSE的Boolean类引用