我有一个字符串值存储在一个名为 userPassword
的变量中,这是我使用扫描仪从用户那里得到的。我也有一个这样的哈希图:
键 | 价值 |
---|---|
用户名1 | 密码1 |
用户名2 | password2 |
用户名3 | password3 |
我有一个值为 userPassword
的变量 123
,还有一个 hashmap 中的值也是 123
public class Authentication {
public void verifyLogin(LoginDetailsPojo userLoginDetailsObj, Map<String,String> map){
//Passing a object and hash map as parameters
String userPassword = userLoginDetailsObj.password;
System.out.println(userPassword);//Printing "123"
String mapPassword = map.get(userLoginDetailsObj.userName);
System.out.println(mapPassword); //Printing "123"
if(userPassword.equals(mapPassword))
System.out.println("it is equal");
}
}
}
即使两个变量(userPassword
和 mapPassword
)具有相同的值 123
,if
块也没有执行
答案 0 :(得分:0)
试试这个,我添加了 trim() 来删除任何头部或尾部空格
public class Authentication {
public void verifyLogin(LoginDetailsPojo userLoginDetailsObj, Map<String,String> map){
//Passing a object and hash map as parameters
String userPassword = userLoginDetailsObj.password;
System.out.println(userPassword);//Printing "123"
String mapPassword = map.get(userLoginDetailsObj.userName);
System.out.println(mapPassword); //Printing "123"
if(userPassword.trim().equals(mapPassword.trim()))
System.out.println("it is equal");
}
}
}