为什么会出现空指针异常

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();
	}

}


Meng7y
浏览 1736回答 3
3回答

慕函数8108156

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

ziom

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

HOTLINE

集合没有初始化
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java