Map map = new HashMap();
和
Map map = new HashMap ();
有什么区别呢,或者说那种写法更优?
泛型只是编译性行为,不是运行行为
在jdk5中,出现自动装箱和拆箱,那么基本类型都可以和相对应对象类型相互转化。
那么
Map map = new HashMap();
和Map map = new HashMap (); 没多大区别
加过泛型后,再从map取值不需要数据类型的转换了,没加泛型的取值时要进行数据类型的转换。
楼上正解。
比如:
Map map = new HashMap();
map.put(ID,ClassA_Object);
ClassA object = map.get(ID);
和
Map map = new HashMap ();
map.put(ID,ClassA_Object);
ClassA object = (ClassA)map.get(ID);
在程序的可读性上和效率上来说,觉得泛型更好
如果是Map的方式,取出对象的时候还是需要强制转化的。
这个时候就相当于没有用泛型,所以也就说不上这个时候泛型是好还是不好,因为Map中key和Value本身就是Object。