如何检查Java中的HashMap中的键值是否正确
问题描述:
我在写一个简单的GUI程序,我必须输入用户的登录名和密码,然后检查他是否在数据库(我的Hashmap)中。那是我遇到问题的地方。我通过containsKey检查登录是否正确,并通过containsValue检查密码。问题是,如果例如我有2个用户:如何检查Java中的HashMap中的键值是否正确
login: user1 password: example
login: user2 password: programing
如果我在JTextField
和密码“编程”把登录为user1
,节目说,这是正确的。
这就是我遇到问题的地方。如何检查密码以确切登录,这是关键吗?
将是任何线索或解决方案:)非常感谢
答
您可以使用这样的检查:
if(userEnteredPassword.equals(hashMap.get(userEnteredUsername))){
// Correct credentials.
.....
}
重要的是要使用userEnteredPassword.equals....
而不是hashMap.get(userEnteredUsername).equals...
因为你会得到一个空指针如果没有地图项,则为例外userEnteredUsername
...或使用Objects.equals方法。 –
它真的帮助了很多。感谢您的反馈:) –
@PawełGustawKolasiński我很高兴我能帮上忙。祝你好运。 – Titus