java张int 和 Integer的区别

java张int 和 Integer的区别
  • 值的存储

int 存储在栈中
Integer 对象的引用存储在栈空间中,对象的数据存储在堆空间中。

  • 初始化

int 初始化值为0。
Integer 初始化值为null。

  • 传参

int 是值传递,栈中的数据不可变。
Integer 对象是引用传递,引用不可变,但是引用指向的堆空间地址中的值是可以改变的。

  • 泛型支持

泛型不支持int,但是支持Integer。

  • 运算

int 可以直接做运算,是类的特性。
Integer 的对象可以调用该类的方法,但是在拆箱之前不能进行运算,需要转化为基本类型int。
 

本文来源huayang183,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/18698

发表评论