java 最差实践
HashMap size 陷阱:
错误写法:
Map map = new HashMap(collection.size()); for (Object o : collection) { map.put(o.key, o.value); }
正确写法:(考虑当添加的元素数量达到HashMap容量的75%时将出现resize. )
Map map = new HashMap(1 + (int) (collection.size() / 0.75));
对List的误用:
不用一律用List,如下场景使用Array更适合:
- list长度固定。
- 对list遍历频繁。
- 需要对数字进行包装(JDK没有提供基本类型的List,List的元素必须是对象类型)
错误写法:
List<Integer> codes = new ArrayList<Integer>(); codes.add(Integer.valueOf(10)); codes.add(Integer.valueOf(20)); codes.add(Integer.valueOf(30)); codes.add(Integer.valueOf(40));
正确写法:
int[] codes = { 10, 20, 30, 40 };
不使用finally块来释放资源
正确的做法是在finally中来调用释放资源的代码out.close()