【问题标题】:How to check if value is correct for key in HashMap in Java如何检查Java中HashMap中键的值是否正确
【发布时间】:2017-11-17 23:38:05
【问题描述】:

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

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

如果我在JTextField 中输入user1 的登录名和密码“programing”,程序会说,这是正确的。

这就是我有问题的地方。如何检查密码是否准确登录,哪个是关键?

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

【问题讨论】:

    标签: java user-interface hashmap


    【解决方案1】:

    您可以使用这样的检查:

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

    使用userEnteredPassword.equals.... 而不是hashMap.get(userEnteredUsername).equals... 很重要,因为如果userEnteredUsername 没有映射条目,则会出现空指针异常

    【讨论】:

    • ...或使用Objects.equals 方法。
    • 这真的很有帮助。感谢您的反馈:)
    • @PawełGustawKolasiński 很高兴我能提供帮助。祝你好运。
    • 但是如果两个用户的密码相同怎么办?然后用这个方法我得到消息,密码错误。
    • 没关系,我忘了在 if() 中写 1 件事,现在一切正常 :)
    猜你喜欢
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多