Java核心-07int和Integer有什么区别?

一.基本使用对比

intInteger
基本数据类型包装类
速度快速度慢
栈中堆中
初始值 = 0初始值 = null

 

二.深入对比

1.new Integer生成的是两个对象,内存地址不同.

2.包装类Integer和基本数据类型int比较时,java会自动包装为int

3.非new生成的integer变量指向的是静态常量池中的cache数组中存储的指向Integer对象;

   而new integer生成的变量指向堆中,两者在内存中的对象引用地址不同。

4.Integer的值会进行缓存[-128到127]之外的数,被装箱后的Integer对象并不会被重用,即相当于每次装箱时都新建一个Integer对象。

三.自动装箱和自动拆箱

1.自动装箱:将基本类型数据重新转化为对象 Integer num = 9;

2.自动拆箱:将对象重新转化为基本类型 int num1 = num。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值