java吧 关注:1,214,901贴子:12,660,987
  • 11回复贴,共1

求助 哪位大神帮忙看下这段代码 运行时异常

只看楼主收藏回复

public class T {
public static void main(String[] args) {
Zr zr=new Zr();
zr.name="x";
List<Dog> list= new ArrayList<Dog>();
Dog d1=new Dog();
d1.name="a";
Dog d2=new Dog();
d2.name="b";
Dog d3=new Dog();
d3.name="c";
d3.zr.add(zr);
list.add(d1);
list.add(d2);
list.add(d3);
for(int i=0;i<list.size();i++){
if(list.get(i).name.equals("b")){
list.get(i).zr.add(zr);//这里报空指针!!!!!
}
}
System.out.println(list.get(1).zr.get(0).name);
}
}
//实体类
class Dog{
List<Zr> zr;
String name;
}
//实体类
class Zr{
String name;
}


IP属地:辽宁1楼2015-12-24 20:38回复
    求大神帮忙!!!!
    自己顶一下


    IP属地:辽宁2楼2015-12-24 20:39
    回复
      求助高手帮忙啊


      IP属地:辽宁3楼2015-12-24 20:40
      回复
        !!!!!
        求助中 ^^^^^^^^^^^^^^^^^^^^^^^^^
        在线等高手


        IP属地:辽宁4楼2015-12-24 20:42
        回复
          等袋中 …………………………………………………………………………
          赋不上值
          空指针


          IP属地:辽宁5楼2015-12-24 20:47
          回复
            …………………………………………………………………………………………………………………………………………


            IP属地:辽宁6楼2015-12-24 20:55
            回复
              你的dog类中zr又没new一个出来,肯定是null啦


              7楼2015-12-24 21:38
              收起回复
                你没有构造方法当然不能赋值啦


                IP属地:北京来自Android客户端8楼2015-12-25 10:48
                回复
                  还有equals方法比较得是地址,你要重写equals方法,不然永远也没有相等的


                  IP属地:北京来自Android客户端9楼2015-12-25 10:52
                  回复
                    不过问下楼主list.get(i).zr.add.(zr)是表示什么意思


                    IP属地:北京来自Android客户端10楼2015-12-25 10:54
                    回复