如何在Java中检查HashMap中键的值是否正确
我正在编写一个简单的GUI程序,我必须为用户输入登录名和密码,然后检查他是否在数据库中(我的Hashmap)。这就是我的问题所在。我通过containsKey检查登录是否正确,并通过containsValue检查密码。问题是,如果在示例中我有2个用户:如何在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并输入密码“编程”,程序会说,这是正确的 这就是我的问题所
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()中写一个东西,现在一切都很好:)