这里的students.get(ID).name可以替换成st.name吗?为啥?

来源:5-2 学生选课---使用 Map 添加学生

没有梦想的咸魚

2017-02-18 15:18

Student st=students.get(ID);
    if(st==null){
	/**
	* 提示输入学生姓名,并创建对象保存学生的ID和姓名,
	* 将其添加到集合students中
	 */
	System.out.println("请输入学生姓名:");
	String name= input.next();
        //创建新的学生对象
	Student newStudent=new Student(ID,name);
        //通过调用students的put方法,添加ID-学生映射关系
	students.put(ID, newStudent);
	System.out.println("成功添加学生:"+students.get(ID).name);


写回答 关注

2回答

  • ziom
    2017-02-19 08:30:34
    已采纳

    既然知道了,求采纳

  • 没有梦想的咸魚
    2017-02-18 15:24:17

    我的想法是:get(ID)返回的那个value值是Student类型的对象st,而Student的构造器中也规定了参数name,那就应该可以使用st.name来调用啊,但是为啥编译器提示错误了呢?

    嗨喽嗨喽 回复没有梦想的咸...

    为什么是因为st==null就会报错??

    2017-07-27 17:21:48

    共 2 条回复 >

Java入门第三季

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

409784 学习 · 4339 问题

查看课程

相似问题