1、静态Factory替代Constructor函数
优势:有名称;不必每次都创建一个新对象,可实现享元;可返回子类型对象;参数化构造时候,代码简洁。
2、遇到多个Constructor 参数时候考虑使用Builder 模式
3、避免创建不必要的对象,尽量重用
如 String s = "aaaa" 远好于 String s= new String("aaaa");
Long s = Long.value(1) 远好于 Long s = new Long(1);
4、清除过期对象
典型地,清除Collection 中过期的元素,防止内存泄露
5、覆盖equals注意
总要覆盖hashCode;注意方法是 equals(Object obj) 而不是 equals(MyObject obj)
6、类和成员的可访问性最小化
7、复合优于继承
8、列表List 优于数组
现在不支持泛型数组,会抛ClassCastException
9、优先考虑泛型方法
public <T> T myMethod(List<T> tList) {}
10、必要时候进行保护性拷贝
比如返回一个数组,为了避免被,可返回其 clone对象。