Java if语句中的错误

Java if语句中的错误,java,android,if-statement,Java,Android,If Statement,我有一个android应用程序。我比较了EditTest中的两个字符串,但得到了一些奇怪的结果 if(v==findViewById(R.id.submit)){ // if(email==crfm_email) { String warn="Done!"; Toast toast = Toast.makeText(getBaseContext(), war

我有一个android应用程序。我比较了EditTest中的两个字符串,但得到了一些奇怪的结果

if(v==findViewById(R.id.submit)){
            //

            if(email==crfm_email)
            {

                String warn="Done!";
                Toast toast = Toast.makeText(getBaseContext(), warn, Toast.LENGTH_LONG);
                toast.show();
            }
            else
            {
                oFN=(EditText)findViewById(R.id.owners_first_name);
                String warn="email addresses do not match "+eMail+" "+crfEmail;
                Toast toast = Toast.makeText(getBaseContext(), warn, Toast.LENGTH_LONG);
                toast.show();

            }

        } 
问题是,即使两个变量的输入相同,控件也总是转到else部分。
我知道这是一个简单的错误,但我无法破解它

看起来您正在进行对象引用比较,而不是对象比较

if(email==crfm_email)
应该是

if(email.equals(crfm_email))
使用:

比较字符串。关键是要比较
字符串的内容,而不是对
字符串
对象的引用。

尝试:

email.equals(crfm_email)

==在java中,比较它是否是字符串的同一实例,而不是字符串的内容是否相同

我想您可能对以下问题感兴趣:


顶级竞争者使用的是
=
而不是
equals
:)

谢谢为什么这个评论“if”不是一个循环!!!!–radkrish?我很困惑。因为我对这个问题有不止一个答案,而且所有答案都是相似的。应该接受哪一个?第一个答案。。?
email.equals(crfm_email)