关于老师程序中的一段代码。

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

司空曙

2015-08-28 15:04

在判断时:
student st= students.get(Id);//判断该Id是否被占用。
输出结果时:
System.out.println("成功添加学生:"+students.get(Id).Name);

如果把输出结果去掉.Name:
System.out.println("成功添加学生:"+students.get(Id));
那么结果会变成:
成功添加学生:collection.student@232204a1

是不是说明,key所映射的是一个内存地址?

BTW,换了新版面不太习惯啊。。。提问版面不能像旧版那样直接在视频下方吗?

写回答 关注

1回答

  • 小七_0007
    2015-12-21 16:33:22

    因为Key映射的Student本身就是个类,它自己有两个属性:id和name,也就是说对应两个值,这时候".name"代表你取name这个值,如果“.id”就代表取Student的id值;如果你什么都不“点”,就代表Student类实例,所以输出时,字符串强转输出的就是实例的地址了。

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题