课程
/后端开发
/Java
/Java入门第三季
students.containsValue(name);
students.containsValue(new Student(null,name));
这两者之间为什么选后者,前者出来是false。
2016-08-01
源自:Java入门第三季 6-4
正在回答
Map students中存的是键值对,一个key对应一个value。定义Map students时规定了键(key)的泛型是String类型,而值(value)的泛型是Student类型。所以在查找Map students中是否包含某个值对象时,应该传入值对应的类型的参数,也就是Student类型。所以把要查找的学生姓名包装成一个Student类作为要查找的value的值。
首先你要看你定义的value是什么类型的,是String类或是student类;如果你容器中保存的是student类,你传入的数据类型是String,自然是查询不到,返回false;如果是student类,还要去查找是否有这个对象的,如果有返回true,否则返回false.
这里的students是map类型的,其中key是string类型,value是Student类型的,所以在调用他的containsValue方法的时候传给他的应该是一个Student类型的对象。
举报
Java中你必须懂得常用技能,不容错过的精彩,快来加入吧
2 回答求大神帮解答。
4 回答求大神来解答啊
2 回答求大神解答!
5 回答求大神解答!!!
2 回答求解答!!大神