Java基础

Java 中 int 和 Integer 有什么区别?

Posted by Chen Xingxu on April 26, 2020

Java 中 int 和 Integer 有什么区别?

自动装箱与拆箱

  • 装箱:将基本类型用他们对应的引用类型包装起来
  • 拆箱:将包装类型转换为基本数据类型

有了基本类型之后为什么还要有包装器类型呢?

让基本类型具备对象的特征,实现更多的功能。Java 是一个面向对象的编程语言,基本类型并不具有对象的性质,为了让基本类型也具有对象的特征,就出现了包装类型(如我们在使用集合类型 Collection 时就一定要使用包装类型而非基本类型),他相当于将基本类型“包装起来”,使得他具有对象的性质,并且为其添加了属性和方法,丰富了基本类型的操作。

int 与 Integer 的基本使用对比

  1. Integer 是 int 的包装类;int是基本数据类型;
  2. Integer 变量必须实例化后才能使用;int 变量不需要;
  3. Integer 实际是对象的引用,指向此 new 的 Integer 对象;int 是直接存储数据值 ;
  4. Integer 的默认值是 null;int 的默认值是 0。