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

求大神来帮我解答.

students.containsValue(name);

students.containsValue(new Student(null,name));

这两者之间为什么选后者,前者出来是false。

正在回答

3 回答

Map students中存的是键值对,一个key对应一个value。定义Map students时规定了键(key)的泛型是String类型,而值(value)的泛型是Student类型。所以在查找Map students中是否包含某个值对象时,应该传入值对应的类型的参数,也就是Student类型。所以把要查找的学生姓名包装成一个Student类作为要查找的value的值。

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

首先你要看你定义的value是什么类型的,是String类或是student类;如果你容器中保存的是student类,你传入的数据类型是String,自然是查询不到,返回false;如果是student类,还要去查找是否有这个对象的,如果有返回true,否则返回false.


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

这里的students是map类型的,其中key是string类型,value是Student类型的,所以在调用他的containsValue方法的时候传给他的应该是一个Student类型的对象。

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

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409788    人
  • 解答问题       4340    个

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

进入课程

求大神来帮我解答.

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