为了账号安全,请及时绑定邮箱和手机立即绑定

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

在判断时:
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 回答

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信