package com.imooc;
import java.util.ArrayList;
import java.util.List;
public class TestGeneric {
public List<Course> courses;
public void TestGeneric(){
this.courses=new ArrayList<Course>();
}
public void testAdd(){
Course cr=new Course("1","English");
courses.add(cr);
Course cr1=new Course("2","Chinese");
courses.add(cr1);
}
/**
*
*/
public void testForEach(){
for(Course cr:courses){
System.out.println("课程:"+cr.id+":"+cr.name);
}
}
public static void main(String[] args) {
TestGeneric te=new TestGeneric();
te.testAdd();
te.testForEach();
}
}
报错提示:Exception in thread "main" java.lang.NullPointerException
at com.imooc.TestGeneric.testAdd(TestGeneric.java:13)
at com.imooc.TestGeneric.main(TestGeneric.java:27)
2 回答
已采纳
冰山点水
TA贡献109条经验 获得超149个赞
没有初始化成员变量courses,变量类型是LIST集合,在没有初始化courses之前就访问其add方法肯定空报指针异常!原因是你的构造器代码写错了,在main方法中创建对象TestGeneric时,并没有初始化courses。构造器是没有返回值类型的的,去掉 public void TestGeneric(){} 这段代码里面的void即可。
添加回答
举报
0/150
提交
取消