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

对视频的疑问--Map 中的containsValue() 方法的参数是什么

我按照视频中的步骤写代码,但是我看一下JDK 的API,发现containsValue()的方法的参数是Object value,而containsKey()的方法参数是Object key。在前面的实例化中测试containsKey()时传递的是String ID就可以找得到,但是测试containsValue()时传递的是一个对象,这与API不符合啊?!而且我试过了,如果传递的是一个String name给containsValue()----就像是String ID传递给containsKey()方法一样,那么无论改写equals与否,都是找不到。所以,到底这两个方法,使用的原理是什么,使用的参数又是什么,搞糊涂了。

正在回答

1 回答

你用containsValue()方法查询是要根据你的Map定义的泛型来决定,你在Map类型的students中的value就是Student类,所以传递参数肯定也要是Student类的对象,而不是String name。简单来说就是,你查students的内部元素,要查找是否存在某个元素,也应该与students定义类型一致,否则肯定找不到。主要看你定义的泛型public Map<String,Student> students;

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

jinphic 提问者

非常感谢!
2017-02-02 回复 有任何疑惑可以回复我~
#2

thomasstar

非常感谢+1
2017-02-09 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

对视频的疑问--Map 中的containsValue() 方法的参数是什么

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