比较Java中的两个字符串(If/Else语句) - Android App

Hud*_*ais -3 java xml android if-statement android-layout

我正在Android应用程序的登录页面上工作.

如您所知,应用程序必须检查用户名和密码是否有效,然后授予用户访问该应用程序的权限.

我使用了以下代码:

...

EditText un = (EditText) findViewById(R.id.username1);

EditText pw = (EditText) findViewById(R.id.password1);

String u = un.getText().toString();

String p = pw.getText().toString();


String myUser = "user1";

String myPass = "pass1";

//////// Now on the click of the Login Button:


public void onClickL (View view){

if ( (u == myUser) && (p == myPass)) /////// move to a new activity

else ///////Display a warning message: Try again

}
Run Code Online (Sandbox Code Playgroud)

我在两个editText字段中输入了正确的字符串,但是我总是收到警告消息.我不明白它有什么问题.

请帮忙 :)

Kon*_*Kon 8

您应该使用String类的equals()方法来比较字符串.==比较仅比较对象引用.

if (p.equals("Password")) { 
    //Do stuff 
}
Run Code Online (Sandbox Code Playgroud)

所以你应该改变:

if ((u.equals(myUser)) && (p.equals(myPass))) {
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

请参阅此处以获取有关此常见混淆主题的更多信息:如何比较Java中的字符串?