字符串比较未返回正确的结果

时间:2016-02-10 12:38:59

标签: java string

因此,我正在构建一个简单的用户身份验证系统,用户将其名称输入用户名和密码字段,然后代码应测试用户针对数据库输入的内容。我已经使用字符串比较器来执行此操作,但是当正确的用户和传递通过它时,它不会在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;
         }
      }

使用正确的登录详细信息执行代码时,"登录"没有显示?

感谢您一看:)

1 个答案:

答案 0 :(得分:4)

您应该使用方法equals而非==运算符:前者比较内容,而后者仅比较引用的值。