为什么HashMap中key是引用类型而不是基本数据类型?为什么有了基本数据类型还有包装类型?

 为什么HashMap中key是引用类型而不是基本数据类型?

最主要的原因是,hashmap中不能存储重复值,因此在存入值的时候,需要用到存储对象的hashcode()和equals()方法进行判断,而基本数据类型是没有这两个方法的。因此HashMap中key只能是引用类型。

包装类的作用:

 1. 包装类里面有一些很有用的方法和属性,如HashCode,ParseInt,equals;比如hashmap中就用到了
 2. 基本类型不能赋null值,某些场合需要;
 3. 很多地方不能直接用基本类型,比如集合,范型;
 4. 包装类的缓存提高了存取效率。