我如何比较一组字符串?

时间:2013-12-16 00:47:30

标签: java android

我有一个用户名和密码字符串。如何在Android中比较它们?这正是我正在寻找的:

if( user== username && pass == password){ then do this  }
else if(user[does not equal to]username && pass==password{ toast (invaild username.)}
else if(user==username && pass[does not equal] password{toast(invaild password)}
else{ toast [invaild login]}

我知道这不是正确的编码,但是两个“else if”语句是我正在寻找的。其余的只是为了更好地理解我正在尝试做的事情。

用户名是与密码相同的Edittext输入的内容,因此当i .getText.toString对,它们都是String?

4 个答案:

答案 0 :(得分:2)

要比较字符串中的文字,请使用equals(),例如pass.equals(password)而不是==检查两个字符串是否是同一个对象。

对于“不等于”,你可以否定陈述,例如!pass.equals(password)

答案 1 :(得分:0)

您可以使用pass.equal(password)

答案 2 :(得分:0)

使用equals方法比较字符串。

if( user.equals(username) && pass.equals(password))
{
    then do this 
}
else if(!user.equals(username) && pass.equals(password)
{  
 Toast.makeText(this,"invalid username",Toast.LENGTH_SHORT).show();
}
else if(user.equals(username) && !pass.equals(password))
{
Toast.makeText(this,"invalid password",Toast.LENGTH_SHORT).show();
 }
else{ 
Toast.makeText(this,"Invalid login",Toast.LENGTH_SHORT).show(); 
}

答案 3 :(得分:0)

您想使用.equals(..)来比较Strings。另外,要在逻辑上执行,您可以使用!

//define user, username
//define pass, password
if(user.equals(username) && pass.equals(password)){ 
    //then do this  
}
else if(!user.equals(username) && pass.equals(password)){
    //toast (invaild username.)
    Toast.makeText(getApplicationContext(), "invalid username", Toast.LENGTH_SHORT).show();
}
else if(user.equals(username) && !pass.equals(password)){
    //toast(invaild password)
    Toast.makeText(getApplicationContext(), "invalid password", Toast.LENGTH_SHORT).show();
}
else{ 
    //toast [invaild login]
    Toast.makeText(getApplicationContext(), "invalid login", Toast.LENGTH_SHORT).show();
}

以下是Toast的一些来源:

http://www.mkyong.com/android/android-toast-example/

http://developer.android.com/guide/topics/ui/notifiers/toasts.html