原创文章,如有转载,请注明出处:http://blog.csdn.net/yihui823/article/details/6936284
不良代码:
//测试用的代码
Map m = new HashMap();
m.put("a", "1");
//不良代码1
String s = m.get("a").toString();
//不良代码2
int i = Integer.parseInt(m.get("a").toString());
其实,Map里面存放的虽然是Object,但是放进去String对象,拿出来的还是String对象,是可以强制转换的。
而调用toString()方法,是有系统开销的,同样也会有NullPointException的危险。
而且,如果放入的对象可以明确是整数的话,最好还是不要放String,而是直接放Integer对象比较好。
比较好的代码1
//测试用的代码
Map m = new HashMap();
m.put("a", "1");
//比较好的代码
String s = (String) m.get("a");
比较好的代码2
//测试用的代码
Map m = new HashMap();
m.put("a", new Integer(1));
//比较好的代码2
int i = (Integer) m.get("a");
java编译器会在合适的时候,自动把int类型和Integer对象互相转换的。