对int和Integer的理解

区别

(1)int是java提供的基本数据类型之一,java还为每个数据类型提供了数据封装类,而Integer就是java为int基本类型提供的包装类型;
(2) int的默认值为0,而Integer的默认值为null
(3) Integer可以分出未赋值和值为0的状态,而int无法表达出未赋值的情况(int不适合作为web表单数据的类型)
(4)包装类型可以用于泛型而对应的基本类型不可以
因为泛型在编译时会进行类型擦除,最后只保留原始类型,而原始类型只能是 Object 类及其子类——基本类型是个特例。
(5)基本数据类型比包装类型更高效
是因为基本数据类型在栈中直接存储数值,而包装类型存的是在堆中的引用

普及

附上相关链接:无描述
(6)两个包装类型的值可以相同,但却不相等。
(7)基本数据类型的自动装箱: 把基本类型转换成包装类型的过程叫做装箱
包装类型的自动拆箱:把包装类型转换成基本类型的过程叫做拆箱

Integer

细看api,该类还提供了一些将int转换为String和String转换为int ,以及在处理int时有用的其他常量和方法。例如:
对int和Integer的理解
对int和Integer的理解参考博文:超详细