java装箱和拆箱的意义_Java包装类,什么是自动装箱和拆箱?

af0d0402acb01e7eeec539160d8eec0c.png
不是井里没有水,而是你挖的不够深。不是成功来得慢,而是你努力的不够多。

包装类

  • 为什么要有包装类?因为java是一门面向对象的语言,本着万物皆对象的原则设计了包装类,用来方便对基本数据类型的操作。
  • 所有的数字类型的包装类都继承自Number类
    • byte->Byte
    • short->Short
    • int->Integer
    • float->Float
    • double->Double
  • char类型的包装类是Character
  • boolean类型的包装类是Boolean

拆箱与装箱

  • 自动装箱:基本类型自动转化为包装类
  • 手动装箱:手动将基本类型转化为包装类
  • 自动拆箱:包装类自动转化为基本类型
  • 手动拆箱:手动将包装类转化为基本类型
 // 自动装箱 将基本类型int转化为Integer包装类
 Integer int1 = 123;
 // 手动装箱 
 Integer int2 = new Integer(123);
 //自动拆箱 将Integer包装类转化为int
 int int3 = int2;
 //手动拆箱
 int int4 = int2.intValue();
  • 自动装箱,相当于调用了,Integer的valueOf方法,这个方法会先判断这个值是否在-128和127之间,如果在的话就从缓存中(类初始化的时候通过static的静态加载存放了一个catch的变量在方法区中作为缓存)去获取,不在则会new一个新的包装类,
 Integer int1 = 123;
 Integer int2 = 123;
 System.out.println(int1 == int2);// 输出true
 Integer int3 = 128;
 Integer int4 = 128;
 System.out.println(int3 == int4); // 输出false

本文作者《猿氏·凯》,如果雷同,纯属抄袭····

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值