在我所遇到的所有异常中,空指针是最好解决的,因为只需要查看是哪里报空指针,就知道是哪里的值是null的,只要保证那处的值非null,就能解决.
1.第一种空指针情况
比如: user.getName();这里如果报空指针的话,那么原因定然是user是null,解决办法就是去查看给user赋值的操作,看看user是否有值.
当然,如果是上面这种情况的话,很好解决,但是如果是下面这一种的话,那就有些麻烦了:
2.第二种空指针
比如:user.getNum()==1;
这个情况,是我进公司第一年做第一个项目时遇到的,由于见过不少空指针异常,所以我一看就料想是user为null,所以,我去查看user的赋值情况.但是,让我意外的是,当我用debug查看时user并非null,既然user非null,那为什么会报空指针异常呢?
当我百思不得其解,厚着脸皮去问办公室某大神时,他翻着白眼看我,然后告诉了我原因所在.
原来,这里的空指针不是对user.getNum(),而是对getNum()==1,因为getNum()没有值,是null,所以null==1时就报了空指针异常.而null==1报空指针异常,是java的基础知识,根本没什么技术含量.所以,那位大神才会无奈给我翻白眼.