Java 中 int 和 Integer 有什么区别?
自动装箱与拆箱
- 装箱:将基本类型用他们对应的引用类型包装起来
- 拆箱:将包装类型转换为基本数据类型
有了基本类型之后为什么还要有包装器类型呢?
让基本类型具备对象的特征,实现更多的功能。Java 是一个面向对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型 Collection 时就一定要使用包装类型而非基本类型),他相当于将基本类型“包装起来”,使得他具有对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。
int 与 Integer 的基本使用对比
- Integer 是 int 的包装类;int是基本数据类型;
- Integer 变量必须实例化后才能使用;int 变量不需要;
- Integer 实际是对象的引用,指向此 new 的 Integer 对象;int 是直接存储数据值 ;
- Integer 的默认值是 null;int 的默认值是 0。