爬坑:Java自动拆箱

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010399009/article/details/85065182

先来代码。你是否写过这样的代码?

 public static void main(String[] args) {
        Integer test = null;

        int test2 = test;
    }

或者说

 public static void main(String[] args) {
        Integer test = null;
        test(test);
    }

    public static void test(int test){

    }

或者说test方法里面传入的是其他地方的,比如数据库有一个Integer字段,然后get传进去。

这里就会出现java.lang.NullPointerException,而这个错误如果你没有很好的日志处理,很难定位出来。
这个就是自动拆箱中出来的问题。
关于自动拆箱,装箱,请看Java自动拆箱装箱

在Integer转化成 int时会调用Integer的intvalue方法
Integer对象都为Null,怎么调用intValue方法,这个时候就报错,所以我们在参数传递的时候一定要注意,自动拆箱的问题。

猜你喜欢

转载自blog.csdn.net/u010399009/article/details/85065182
今日推荐