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

两个Id有什么不一样吗

// 创建新的学生对象

Student newStudent = new Student(ID, name);

// 通过调用students的put方法,添加ID-学生映射

students.put(ID, newStudent);

为什么新建的学生对象里面已经有了ID和name 两个参数了。在put方法里面还要添加ID这个属性?


正在回答

3 回答

第二句students的ID是Map的Key,而Student的ID则是Student类的一个属性,在这里两个的值是一样的确实容易让人误解,其实两个的值完全可以不一样,名称也可以不一样,假如将Student的ID改为stuID,就比较容易区分了。

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

司马长卿 提问者

非常感谢!
2016-02-19 回复 有任何疑惑可以回复我~

因为第一个ID是Student类中成员变量的ID,而put()函数中需要两个参数值传入,一个ID,一个Student类的实例

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

students是一个Student的Map,第一个ID是Student对象的必要属性,第二个ID是Student的Map的映射关系,这里恰巧用了同一个变量,容易搞混淆,第二个可以不用ID,主要因为要按学生的ID找到映射中的学生,则必须相同,否者放进去按ID就找不到了

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

举报

0/150
提交
取消

两个Id有什么不一样吗

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