空指针异常啊

来源:4-4 学生选课---添加课程 Ⅰ

倩与倩寻

2018-03-24 17:28

import java.util.ArrayList;

import java.util.List;


public class ListTest {

public List courseToSelect;

public ListTest() {

List courseToSelect = new ArrayList();

}

public void testAdd() {

//往courseToSelect添加课程;

Course cr1 = new Course("1","数据结构");

courseToSelect.add(cr1);

Course temp = (Course)courseToSelect.get(0);

System.out.println("添加了一门课程:"+temp.id+":"+temp.name);

}

public static void main(String[] args) {

ListTest lt = new ListTest();

lt.testAdd();

}

}



写回答 关注

2回答

  • 烟花飞满天
    2018-03-24 19:13:15
    已采纳

    public ListTest() {

    List courseToSelect = new ArrayList();


    }

    你这个 为什么还要定义 courseToSelect  把List去掉

    倩与倩寻

    非常感谢!以后我会多注意的!

    2018-03-24 19:43:00

    共 1 条回复 >

  • 泰勒伯顿
    2018-04-10 11:15:00

    你这个就是空指针啊,你在类变量中:public List courseToSelect;没有分配空间

    在后面的构造函数中 :List courseToSelect = new ArrayList();相当于是定义了一个局部变量

    局部变量在在函数体外面无效,所哟你后面使用的变量courseToSelect都是第一次在定义但是没有分配空间的变量,所以就出现了空指针异常

    在构造函数中一般不需要定义新的变量:所以构造函数中是this.courseToSelect = new ArrayList();

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题