为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会出现空指针异常

为什么会出现空指针异常

Meng7y 2017-06-26 20:30:03
package miooc; import java.util.ArrayList; import java.util.List; /**  * 泛型的集合测试类  * Meng7y  * 2017年6月26日 19:35:37  */ public class TestGeneric { //声明一个泛型的集合 public List<Course> courses; public void generic(){ this.courses = new ArrayList<Course>(); } public void add(){ Course cr = new Course("1","高等数学"); courses.add(cr); Course cr1 = new Course("2", "java"); courses.add(cr1); } public void iterator(){ for(Course cr:courses){ System.out.println("课程"+cr.id+":"+cr.name); } } public static void main(String[] args) { // TODO Auto-generated method stub TestGeneric tg = new TestGeneric(); tg.add(); tg.iterator(); } }
查看完整描述

3 回答

已采纳
?
慕函数8108156

TA贡献9条经验 获得超8个赞

generic()方法改成 类名一致的无参的构造方法就可以了,下面main函数里创建类的对象,就调用了无参的构造器,也就是将List集合的属性进行了初始化,就不会是空值了。另外,1楼说的也是对的,是一个意思,就是将List集合的那个属性给初始化。

查看完整回答
反对 回复 2017-06-27
?
ziom

TA贡献948条经验 获得超1109个赞

List<Course> courses没有初始化,也即generic()方法没有执行,main()方法里tg.add();前添一行tg.generic();再试试

查看完整回答
3 反对 回复 2017-06-26
?
HOTLINE

TA贡献33条经验 获得超23个赞

集合没有初始化

查看完整回答
1 反对 回复 2017-06-27
  • 3 回答
  • 0 关注
  • 1790 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信