6 回答

TA貢獻1909條經(jīng)驗 獲得超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條經(jīng)驗 獲得超11個贊
解決方案:
if (pla1.equals(pla2)) { ttsManager.initQueue("Resultado correcto, buen trabajo."); } else ttsManager.initQueue("Incorrecto, intente de nuevo."); }
通常,Java 中的 equals() 和 “==” 運算符都用于比較對象以檢查是否相等,但以下是兩者之間的一些區(qū)別:
.equals() 方法和 == 運算符之間的主要區(qū)別在于,一個是方法,另一個是運算符。
我們可以使用==運算符進行引用比較(地址比較)和.equals()方法進行內(nèi)容比較。
簡而言之,==檢查兩個對象是否指向相同的內(nèi)存位置,而 .equals() 評估對象中值的比較。
如果一個類沒有重寫 equals 方法,那么默認情況下它使用
Object o
重寫了該方法的最近父類的 equals() 方法。
希望對您有所幫助!

TA貢獻1831條經(jīng)驗 獲得超4個贊
不能對字符串使用 == 運算符
Use if(pla1.equals(pla2))
or
Use if(pla1.equalsIgnoreCase(pla2))
instead of if(pla1 == pla2) {

TA貢獻1853條經(jīng)驗 獲得超18個贊
和equals()
都==
用于比較對象以檢查是否相等,但是==
檢查兩個對象是否指向相同的內(nèi)存位置,同時.equals()
評估對象中的值。
在你的情況下你必須使用String.equals
代替
if (pla1 == pla2)
和
if (pla1.equals(pla2))
添加回答
舉報