为什么当我使用containsAll初始化Course数组对象发生错误

来源:-

qq_之恩赫奥丶_0

2016-05-15 13:54

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

}

}

必须这样初始化才能运行呢?

写回答 关注

2回答

  • potatofootball
    2016-05-15 20:38:18
    已采纳

    上面的代码,你定义了一个Course的数组,指定容量是2,但是没有指向哪些Course对象就运行运行

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

    在编译的时候会去读取course第一位的Course这个对象的name属性,然后赋值为C语言,但是你没有事先指定对象,所以运行不了

    qq_之恩赫...

    有点不懂,那我应该怎么修改才可以呢?你能帮我改改吗

    2016-05-16 10:50:09

    共 1 条回复 >

  • potatofootball
    2016-05-23 11:19:16
    Course[] course=new Course[2];
    course[0] = new Course();//指向一个Course对象
    course[1] = new Course();
    course[0].name="C语言";
    course[1].name="数据结构";


Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题