问答详情
源自:6-1 学生选课---判断 List 中课程是否存在

在使用contiansall方法中,我设置对象数组为什么会出错

public void testListContainsAll(){

Course[] course={new Course("5","C语言"),new Course("1","数据结构")};

System.out.println("备选可成中是否包含课程:"+course[0].name+","+course[1].name+":"

+coursesToSelect.containsAll(Arrays.asList(course)));

}

这样写没有问题

public void testListContainsAll(){

Course[] course=new Course[2];

course[0].name="C语言";

course[1].name="数据结构";

System.out.println("备选可成中是否包含课程:"+course[0].name+","+course[1].name+":"

+coursesToSelect.containsAll(Arrays.asList(course)));

}

为什么这样写程序不报错,但是运行不了


提问者:qq_之恩赫奥丶_0 2016-05-15 14:58

个回答

  • 慕粉15757826037
    2016-06-15 18:53:53

    public void testListContainsAll(){

    Course[] cr={new Course(),new Course()};

    System.out.println("请输入第一个课程:");

    String name1 = input.next();

    cr[0].setName(name1);

    System.out.println("请输入第二个课程:");

    String name2 = input.next();

    cr[1].setName(name2);

    System.out.println("备选可成中是否包含课程:"+cr[0].getName()+","+cr[1].getName()+":"+

    coursesToSelect.containsAll(Arrays.asList(cr)));

    }

    改了下 ,发现这样可以,好像确实是定义数组那里的问题,但不知道为什么,同希望有人解答下,谢谢!

  • potatofootball
    2016-05-15 20:27:38

    报错报的什么错?下面那个运行不了因为定义数组后没有填入Course对象