Java Android前端未正确解析字符串

Java Android前端未正确解析字符串,java,android,Java,Android,所以,这是我的Android MainActivity,但具体来说是以下代码: public void checkUser(View view) { // Next Activity to move on to Intent intentSuccess = new Intent(this, Home.class); Intent intentFail = new Intent(this, LoginFailActivity.class); EditText us

所以,这是我的Android MainActivity,但具体来说是以下代码:

public void checkUser(View view) {
    // Next Activity to move on to
    Intent intentSuccess = new Intent(this, Home.class);
    Intent intentFail = new Intent(this, LoginFailActivity.class);

    EditText usernameText = (EditText) findViewById(R.id.user_field);
    String username = usernameText.getText().toString();

    EditText passwordText = (EditText) findViewById(R.id.pword_field);
    String password = passwordText.getText().toString();

    if (username == "admin" && password == "password") {
        startActivity(intentSuccess);
    } else {
        startActivity(intentFail);
    }
}
即使我输入“admin”和“password”,每次都会转到intentFail。我已经检查了一个测试活动,它正确地将字符串传递给它,没有问题


请帮助我,提前谢谢你

我想说问题就在这里

if (username == "admin" && password == "password")
应该是

if (username.equals("admin") && password.equals("password"))
Java将字符串视为对象,而不是字符数组

根据评论

应该是

if (username.equals("admin") && password.equals("password") {
        startActivity(intentSuccess);
    } else {
        startActivity(intentFail);
    }

使用String equals方法比较字符串,而不是==。阅读本文:为了澄清,使用
=
测试两个
字符串是否引用了堆上的同一个对象,而
equals()
测试
字符串中每个字符是否相等。他说的话我在争论我的char数组注释是否会影响解释。
if (username.equals("admin") && password.equals("password") {
        startActivity(intentSuccess);
    } else {
        startActivity(intentFail);
    }