Unboxing造成的NullPointerException
今天工作中出现空指针异常,调试了半天不知其解,结果碰运气搞定了。
出空指针异常的代码比如是:
public class April{ public April(String name, int number) { ...... } public static void main(String[] args) { Integer number = null; new April("...", number); } }
构造函数参数的类型是int,main函数里用的是包装类型,构造的时候会将Integer unbox成int,因为包装类型的值是null,就造成空指针异常了。
这个异常发现之后就很简单,但是在调试的过程中非常难以发现这个问题。