6 回答
TA贡献1909条经验 获得超7个赞
你不能用来==比较字符串。你将不得不做if (string1.equals(string2))
public void onClick(View view) {
System.out.println("Palabra1= "+palabraDes.getText());
System.out.println("Palabra2= "+palabraOrd.getText());
String pla1 = palabraDes.getText().toString();
String pla2 = palabraOrd.getText().toString();
if (pla1.equals(pla2)) {
ttsManager.initQueue("Resultado correcto, buen trabajo.");
} else
ttsManager.initQueue("Incorrecto, intente de nuevo.");
}
});
TA贡献1775条经验 获得超11个赞
解决方案:
if (pla1.equals(pla2)) { ttsManager.initQueue("Resultado correcto, buen trabajo."); } else ttsManager.initQueue("Incorrecto, intente de nuevo."); }
通常,Java 中的 equals() 和 “==” 运算符都用于比较对象以检查是否相等,但以下是两者之间的一些区别:
.equals() 方法和 == 运算符之间的主要区别在于,一个是方法,另一个是运算符。
我们可以使用==运算符进行引用比较(地址比较)和.equals()方法进行内容比较。
简而言之,==检查两个对象是否指向相同的内存位置,而 .equals() 评估对象中值的比较。
如果一个类没有重写 equals 方法,那么默认情况下它使用
Object o
重写了该方法的最近父类的 equals() 方法。
希望对您有所帮助!
TA贡献1831条经验 获得超4个赞
不能对字符串使用 == 运算符
Use if(pla1.equals(pla2))
or
Use if(pla1.equalsIgnoreCase(pla2))
instead of if(pla1 == pla2) {
TA贡献1853条经验 获得超18个赞
和equals()
都==
用于比较对象以检查是否相等,但是==
检查两个对象是否指向相同的内存位置,同时.equals()
评估对象中的值。
在你的情况下你必须使用String.equals
代替
if (pla1 == pla2)
和
if (pla1.equals(pla2))
添加回答
举报