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

想问一下,为什么在用id和name查找的时候用的方法有这样的区别呢?

用id查找学生

//提示用户输入学生id

System.out.println("请输入要查询的学生ID:");

Scanner Input = new Scanner(System.in);

String id = Input.next();

//在Map中,用containsKey()方法,判断是否包含某个Key值 

System.out.println("您输入的学生id为:"+id+"在映射表中是否存在"+students.containsKey(id));

用姓名查找

//提示输入学生姓名

System.out.println("请输入要查询的学生姓名:");

Scanner Input2 = new Scanner(System.in);

String name = Input2.next();

//        用containsValue()方法,判断是否包含某个Value值

System.out.println("您输入的学生姓名为:"+name+"姓名是否存在"+students.containsValue(name));

为什么这里name明明对象里是有的却还是返回false呢? 求解答


正在回答

2 回答

因为:public Map <String,Student>students;该属性的value值是一个Student类型的对象,那使用containsValue()传入的参数要是对应的value,在这里value对应的就是一个Student 对象。

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

奥斯卡大金人

谢谢你
2019-08-31 回复 有任何疑惑可以回复我~

为什么判断是否包含某个value值要new一个学生对象呢

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

举报

0/150
提交
取消

想问一下,为什么在用id和name查找的时候用的方法有这样的区别呢?

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