Java if语句中的错误
我有一个android应用程序。我比较了EditTest中的两个字符串,但得到了一些奇怪的结果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
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)