伊莉討論區
標題:
「已解決」Android 字串 equals()問題
[打印本頁]
作者:
jackyo04
時間:
2018-9-12 04:17 PM
標題:
「已解決」Android 字串 equals()問題
本帖最後由 jackyo04 於 2018-9-12 05:39 PM 編輯
我在做字串判斷的時候遇到需要做字串比對的問題,於是就使用了equals這個功能,然後用Log來看有沒有進入我預想的功能裡,但不管我用什麼方式就是進不去
,是我理解錯誤嗎?
以下是程式片段
//狀況一:
if(txt.equals("a")){
// 執行log
}
//狀況二:
if("a".equals(txt)){
// 執行log
}
//狀況三:
String s = "a";
if(txt.equals(s)){
// 執行log
}
//狀況四:
String s = "a";
if(txt == s){
// 執行log
}
複製代碼
用了四種狀況都完全無法進去判斷式裡面,不知道是不是我應用錯誤還是什麼怪問題...我是用在藍芽的部份,當收到指定的值時執行動作,我將藍芽部份拿掉測試就OK
也有用Toast確認該數值為字串...但..就是進不去判斷式
經過某位大大解釋,我遺漏了trim這部份..
作者:
codewice
時間:
2018-9-12 11:08 PM
碎嘴一下,Android 裡面有個 TextUtils 的類別可以用。Java 裡面的字串比對一不小心會踩到雷,可以搜尋一下 stackoverflow 編號 513832 的問題
作者:
jackyo04
時間:
2018-9-13 08:11 AM
codewice 發表於 2018-9-12 11:08 PM
碎嘴一下,Android 裡面有個 TextUtils 的類別可以用。Java 裡面的字串比對一不小心會踩到雷,可以搜尋一下 ...
TextUtils我要研究一下,因為藍芽傳輸是用Byte來傳,所以會有\r\n的問題存在,也常常被忽略掉,所以換型別要注意一下,轉成String一樣會存在\r\n的問題,這是我踩到的雷..
作者:
z1090128
時間:
2018-9-13 03:15 PM
如果使用case會比較好嗎?這樣判斷的次數就不需要這麼多
歡迎光臨 伊莉討論區 (http://a04.eyny.com/)
Powered by Discuz!