Java基础——包装类

包装类

将基本数据类型转化为对象操作,位于java.lang包,自动导入。

比如Integer类就是int类型的数字转化Integer对象


    Integer.parseInt()//将字符串转化为数字
    Integer i = new Integer("2323");
    String s = i+"";//将数字转化为字符串
    intValue();//将Integer转化int

autoboxing(自动装箱)和unboxing(自动拆箱)

为了提高效率,Java 5之后在编译器内自动把基本数据类型转化为包装类,即autoboxing,反之则是unboxing,但在自动拆箱的时候,包装类不能为“null”,。这个处理被称为“compiler sugar”(编译器蜜糖)。

        var list = new ArrayList<Integer>();
        list.add(3);// 这里“3”从int这种primitive类型自动转化为Integer包装类。

        Integer i1 = null;
        int i3 = i1;
        System.out.println(i3);<>报错:java.lang.NullPointerException<>

对于Integer类,为了提高效率,在[-128,127]内的数字自动装箱后,涉及到一些操作,如“==”,会做缓存处理,即作为基本数据类型处理。

        Integer i1 = 123;
        Integer i2 = 123;
        System.out.println(i1==i2);<>结果为true<>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值