版权声明:本文为博主原创文章,未经博主允许不得转载。 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方法,这个时候就报错,所以我们在参数传递的时候一定要注意,自动拆箱的问题。