第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字符串比較在具有相同值時返回 false

字符串比較在具有相同值時返回 false

富國滬深 2022-12-21 12:05:05
我在SQLite數(shù)據(jù)庫中存儲了字符串,這些字符串顯示在Activity. 問題是,如果我將按鈕的文本與字符串值進行比較,它會返回 false,而 equals 則顯示它匹配。我很想知道當(dāng)他們都一樣的時候是誰在返回 false。我已經(jīng)嘗試過 tostring 方法。while (result.moveToNext()) { Button btn = new Button(this); btn.setWidth(100); btn.setHeight(40); //    btn.setSingleLine(); //keep text in single line don't break big words //    btn.setAutoSizeTextTypeUniformWithConfiguration(1, 15, 1, //          TypedValue.COMPLEX_UNIT_DIP); messageReceived = result.getString(1).trim(); btn.setText(result.getString(1).trim()); String btnText = btn.getText().toString().trim(); String Value = Boolean.toString(btnText == messageReceived); Toast toast = Toast.makeText(this, Value, Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 5, 5); toast.show(); if (messageReceived.equals(btnText)) {  Toast toast2 = Toast.makeText(this, "matched", Toast.LENGTH_LONG);  toast2.setGravity(Gravity.LEFT, 0, 0);  toast2.show(); } else {  Toast toast2 = Toast.makeText(this, "Not Matched", Toast.LENGTH_LONG);  toast2.setGravity(Gravity.LEFT, 0, 0);  toast2.show(); } Toast.makeText(this, "A: " + btn.getText() + " B: " + messageReceived, Toast.LENGTH_LONG).show(); btn.setOnClickListener(this); grid.addView(btn); //messageReceived="pungi"; if (btnText == messageReceived) {  btn.setBackgroundColor(Color.YELLOW); }}
查看完整描述

3 回答

?
HUX布斯

TA貢獻1876條經(jīng)驗 獲得超6個贊

這可能是因為 == 比較地址時相等比較內(nèi)容示例


String s1 = new String("sd"); 

String s2 = new String("sd");

System.out.println(s1 == s2); 

System.out.println(s1.equals(s2));

當(dāng)?shù)诙€返回 true 時,第一個返回 false


查看完整回答
反對 回復(fù) 2022-12-21
?
四季花海

TA貢獻1811條經(jīng)驗 獲得超5個贊

哦,這是一個很好的。Boolean.toString(stringA == stringB)實際上是在做參考比較;也就是說,檢查兩個對象是否指向相同的內(nèi)存位置。String.equals(),另一方面,比較值。


String A = new String("five");

String B = new String("five");


System.out.println(Boolean.toString(A == B)); // false.


System.out.println(Boolean.toString(A.equals(B))); // true

此外, theBoolean.toString(A.equals(B))可以替換為A.equals(B),這將返回相同意義上的布爾值。


查看完整回答
反對 回復(fù) 2022-12-21
?
慕桂英3389331

TA貢獻2036條經(jīng)驗 獲得超8個贊

此行將btnText==messageReceived始終返回 false,因為兩者都沒有指向同一個對象。

equals 方法匹配內(nèi)容,其中 as == 運算符匹配指向同一地址的對象。閱讀本文檔以了解有關(guān) == 和 equals 的更多信息。 == 與等于

希望這對你有幫助


查看完整回答
反對 回復(fù) 2022-12-21
  • 3 回答
  • 0 關(guān)注
  • 142 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號