可能重复:
如何比较 Java 中的字符串?
我是 android 新手,这是我在 StackOverflow 上的第一篇文章。简而言之,我面临一个非常奇怪的问题:在某些方法中,我使用了 if(...),并且两个值都相等,但它没有通过如果 。这是一个例子:
String []s=db.getStudentsNames();
String []t=CopyNames(s);
String t1,t2;
t2=Id.getText().toString();
for(int i=0;i<s.length;i++)
{
t1=t[i].substring(t[i].indexOf("-")+1).toString();
Notifications(t[i].substring(t[i].indexOf("-")+1).toString());
if(t1.toString()==t2.toString())//Problem!
{
Notifications("Id already exists for "+t[i].substring(0,t[i].indexOf("-")).toString());
return false;
}
}
变量 t1 & t2 是 : t1="123456789"
& t2="123456789"
,但它不会像它们不相等一样进入 if。还有其他地方是两个相等的边被认为是不相等的 - 在同一个java页面(活动)中,例如
if(add.getText().toString()=="Add Student")
::添加指的是一个按钮,默认情况下,一个文本:“添加学生”所以我该如何解决这个问题问题 ?
**当这个问题开始时,我开始在 LogCat 中看到:
W/KeyCharacterMap(282): No keyboard for id 0
W/KeyCharacterMap(282): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
D/dalvikvm(282): GC_FOR_MALLOC freed 5438 objects / 256800 bytes in 73ms