ArrayList 什么情况下报nullpointerException?

来源:百度知道 编辑:UC知道 时间:2024/05/31 04:16:42
为什么直接给一个空ArrayList赋值的时候有时候报空指针,有时候不报呢?好奇怪

比如有个类A,里面有个属性int i;
A a;
ArrayList lt=new ArrayList ();
lt.add(a.i);、、这样就报nullpointerException,你没有new

还没有被NEW出来

如果你是从对象中获得出来的东西在赋值给arrayList,就要看你这个from对象是否可以获得出来东西的,先检查一下出错在什么地方的,如果是from则查看是从数据库中获得的,还是从页面中获得到的信息,如果从数据库中获得信息则要new个对象的,如果从页面获得,则不用new对象的,直接获得的
先看错在何处,建议你用system.out.print("");一步一步的执行这样就可以知道是哪里出错了,要不使用调试的形式也可以的

可能是某个变量还没NEW,你可以对每个变量,例如a,添加if(a==null)
System.out.println("a is null");来查看a是否为null

要new 我也这样认为

空指针异常就是你申明的对象未被实例化就进行引用,比如:
ArraryList a;
a.add(object);
可以在程序中输入相关对象的值看是不是null的!
如果你在程序中想把ArraryList b的值赋给上面的a,但你的程序中得到的b就是null的,此时进行赋值后,用a调用方法就会报空指针异常,其他类也是一样的!