因此,我正在构建一个简单的用户身份验证系统,用户将其名称输入用户名和密码字段,然后代码应测试用户针对数据库输入的内容。我已经使用字符串比较器来执行此操作,但是当正确的用户和传递通过它时,它不会在if语句中执行代码。
以下是代码片段
Boolean authpassed = false
while(rs.next() && (authpassed == false)){
int id = rs.getInt("id");
String first = rs.getString("first");
String last = rs.getString("last");
String username = rs.getString("username");
String password = rs.getString("password");
System.out.print("ID: " + id);
System.out.print(", First: " + first);
System.out.print(", Last: " + last);
System.out.print(", Username: " + username);
System.out.println(", Password: " + password);
if((authuser == username) && (authpass == password) ) {
System.out.println("Logged In!");
authpassed = true;
}
}
使用正确的登录详细信息执行代码时,"登录"没有显示?
感谢您一看:)
答案 0 :(得分:4)
您应该使用方法equals
而非==
运算符:前者比较内容,而后者仅比较引用的值。