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)));
}
为什么上上面这种写法无法运行,也不报错
public void testListContainsAll(){
Course[] course={new Course("0","C语言"),new Course("1","数据结构")};
System.out.println("备选可成中是否包含课程:"+course[0].name+","+course[1].name+":"
+coursesToSelect.containsAll(Arrays.asList(course)));
}
}
必须这样初始化才能运行呢?
上面的代码,你定义了一个Course的数组,指定容量是2,但是没有指向哪些Course对象就运行运行
course[0].name="C语言";
在编译的时候会去读取course第一位的Course这个对象的name属性,然后赋值为C语言,但是你没有事先指定对象,所以运行不了
Course[] course=new Course[2]; course[0] = new Course();//指向一个Course对象 course[1] = new Course(); course[0].name="C语言"; course[1].name="数据结构";