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

不懂为什么要这样写

6:32的地方 用containsValue方法,来判断是否包含某个Value值。

if(students.containsValue(new Student(null,name)){

}

后面的括号中object类型为啥写成这样,为啥不能直接写name

正在回答

4 回答

student是一个map集合,他在定义的时候value值是Student对象所以比较的时候新建了一个对象

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

除了这一步,后面重写了equals方法的这一步你也要考虑进去,这两步共同实现了“输入一个学生名字查找集合中与这一名字相对应的对象”这一功能

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

http://img1.sycdn.imooc.com//59a290860001a94d07840254.jpg

如图,因为map的value值是Student类型,id值是String类型。

所以id可以直接传入Key(类型相同),name不能作为Value(类型不同,name是String)。

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

java 入门第三季 4-3 2:36  student的含参构造函数是student(string id,string name),所以new student的时候 需要提供两个参数(string id , string name),即对应的(null,name)

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

Oldmumu 提问者

谢谢哦,那我没用含参构造器用的getter setter方法,在不添加含参构造器的情况下(我想多练练gettersetter方法的方方面面,而且觉得这边不需要含参构造器),这行代码该怎么写?
2017-07-08 回复 有任何疑惑可以回复我~
#2

Oldmumu 提问者

而且为什么上面的containsKey方法只需要传id不需要传name
2017-07-08 回复 有任何疑惑可以回复我~
#3

sleepiness 回复 Oldmumu 提问者

我刚开始学这门课 原来是看的书 这视频的具体的例子不太了解 容我看完视频的。。。 不好意思
2017-07-09 回复 有任何疑惑可以回复我~
#4

Oldmumu 提问者 回复 sleepiness

好,大家一起共同勉励吧
2017-07-09 回复 有任何疑惑可以回复我~
#5

慕UI7239223 回复 Oldmumu 提问者

KEY是map<key,value>前面那个key,value指的学生类Student<id,name>,key和id是两回事
2017-08-23 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消

不懂为什么要这样写

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