2017-11-17 86 views
1

我在写一个简单的GUI程序,我必须输入用户的登录名和密码,然后检查他是否在数据库(我的Hashmap)中。那是我遇到问题的地方。我通过containsKey检查登录是否正确,并通过containsValue检查密码。问题是,如果例如我有2个用户:如何检查Java中的HashMap中的键值是否正确

login: user1 password: example 
login: user2 password: programing 

如果我在JTextField和密码“编程”把登录为user1,节目说,这是正确的。

这就是我遇到问题的地方。如何检查密码以确切登录,这是关键吗?

将是任何线索或解决方案:)非常感谢

回答

2

您可以使用这样的检查:

if(userEnteredPassword.equals(hashMap.get(userEnteredUsername))){ 
    // Correct credentials. 
    ..... 
} 

重要的是要使用userEnteredPassword.equals....而不是hashMap.get(userEnteredUsername).equals...因为你会得到一个空指针如果没有地图项,则为例外userEnteredUsername

+0

...或使用Objects.equals方法。 –

+0

它真的帮助了很多。感谢您的反馈:) –

+0

@PawełGustawKolasiński我很高兴我能帮上忙。祝你好运。 – Titus

相关问题