1.首先要知道Java的八大基本数据类型:short、int、long、float、double、char、byte、boolean。
2.这八种基本数据类型对应的包装类分别为:Short、Integer、Long、Float、Double、Character、Byte、Boolean(注意他们是类)
3.Java有两种不同的类型:原始类型和引用类型。int就是原始类型,Integer就是与之对应的引用类型。
为什么要将八种基本数据类型封装成包装类呢?因为这是基于面向对象的思想,Integer类的内部有一个int型的数据,Integer类内部还封装着对于int的各种处理的方法;另外一个重要的原因就是在Java中很多的方法和类都是处理Object对象的,比如ArrayList这些集合类,ArrayList只能以对象作为他的存储对象,将一个int数据存入ArrayList是不可能的,必须将他包装成类,即用到Integer。
4.另外,int的默认值为0,Integer的默认值为null(也就是说Integer可以区分出未赋值和值赋为0的区别)。
5.int一般作为数值参数,Integer一般做类型转换时候较多。
6.他们在内存中的存储位置也不同,int这种基本数据类型存储在栈中,Integer作为类,实例化出的对象存储在堆中。