6 回答

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
你不能用來(lái)==比較字符串。你將不得不做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貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
我的問(wèn)題是,當(dāng)文本字符串通過(guò)時(shí),它帶有一個(gè)空格 (\n),然后所有表格都有效。

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

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

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