Java中的字符串比较?

时间:2013-11-18 05:39:18

标签: java android

我正在尝试使用Mysql数据库中的电子邮件和密码进行简单的登录活动。

现在,我将电子邮件值设置为“e”,将密码设置为“e1”(以进行测试)。 然后我将它导入我的应用程序变成一个字符串,我检查密码和电子邮件是否为真:

res = st.executeQuery("SELECT * FROM Users WHERE Email = '"+emailVar+"' AND Password = '"+pswdVar+"' ");
         while (res.next()) {
              String pswdDb = res.getString("Password");
              String emailDb = res.getString("Email");
              if (emailVar == emailDb && pswdVar == pswdDb)
              {

                  Intent I = new Intent (this, MainActivity.class);
                  startActivity(I);
              }

但if语句总是返回false。

调试后,我看到数据库中的值和输入值相等。

我如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

在Java和Android中==用于比较两个对象。要比较两个变量,你需要使用.equals()方法,如下所示,

if (emailVar.equals(emailDb) && pswdVar.equals(pswdDb))
{
     Intent I = new Intent (this, MainActivity.class);
     startActivity(I);
}

答案 1 :(得分:0)

使用equals方法比较Java中的字符串,而不是使用==运算符。

    if (emailVar.equals(emailDb) && pswdVar.equals(pswdDb)){

              Intent I = new Intent (this, MainActivity.class);
              startActivity(I);
    }