美文网首页
Java自动装箱踩坑

Java自动装箱踩坑

作者: 小鱼东西 | 来源:发表于2019-08-24 16:39 被阅读0次

    Java有装箱和拆箱

    把基本数据类型转换成包装类的过程就是打包装,英文对应于boxing,中文翻译为装箱。

    反之,把包装类转换成基本数据类型的过程就是拆包装,英文对应于unboxing,中文翻译为拆箱。

    自动装箱与拆箱

    在Java SE5中,为了减少开发人员的工作,Java提供了自动拆箱与自动装箱功能。

    自动装箱: 就是将基本数据类型自动转换成对应的包装类。

    自动拆箱:就是将包装类自动转换成对应的基本数据类型。

    Integer i =10;  //自动装箱
    int b= i;     //自动拆箱
    

    自动装箱和自动拆箱原理其实是使用valueOf()和xxValue() 方法实现

    Interger i = Interger.valueOf(10);
    int b = intValue(i);
    

    经典案例

    三目运算符如果操作数有对象会发生自动拆箱

    boolean flag = true;
        Integer i = 0;
        int j = 1;
        int k = flag ? i : j;
    

    当i为null时,由于会自动拆箱导致报错空指针异常

    相关文章

      网友评论

          本文标题:Java自动装箱踩坑

          本文链接:https://www.haomeiwen.com/subject/lqsqectx.html