如何在Java中检查HashMap中键的值是否正确

如何在Java中检查HashMap中键的值是否正确,java,user-interface,hashmap,Java,User Interface,Hashmap,我正在编写一个简单的GUI程序,我必须为用户输入登录名和密码,然后检查他是否在数据库中(我的Hashmap)。这就是我的问题所在。我通过containsKey检查登录是否正确,并通过containsValue检查密码。问题是,如果在示例中我有2个用户: login: user1 password: example login: user2 password: programing 如果我在我的JTextField中输入登录名为user1并输入密码“编程”,程序会说,这是正确的 这就是我的问题所

我正在编写一个简单的GUI程序,我必须为用户输入登录名和密码,然后检查他是否在数据库中(我的Hashmap)。这就是我的问题所在。我通过containsKey检查登录是否正确,并通过containsValue检查密码。问题是,如果在示例中我有2个用户:

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

没有映射条目,或者使用
对象.equals
方法,你会得到一个空指针异常。这确实很有帮助。感谢您的反馈:)@PawełGustawKolasiński我很高兴能为您提供帮助。祝你好运。但是如果两个用户有相同的密码呢?然后用这个方法我得到一个消息,密码是错误的。不过,我忘了在if()中写一个东西,现在一切都很好:)