2015-03-03 91 views
-1

我使用這個代碼,它成功地檢索傳入消息:精彩字符串內容檢查

Bundle bundle = intent.getExtras(); 
Object[] object = (Object[]) bundle.get("pdus"); 
SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) object[0]); 
String message = smsMessage.getMessageBody().trim(); 

的信息是完全等於「測試」和message.length()等於4(沒有隱藏字符),但波紋管命令返回false!

if (message == "test") ... 

如何使用==代替equals()方法

謝謝...

+2

使用'等於(「測試」)'方法,因爲你是比較 – SorryForMyEnglish 2015-03-03 07:40:10

+0

如何使用參考''==比較字符串?使用'str1.equals(str2)' – Apurva 2015-03-03 07:54:38

+0

'如何使用==代替equals()?'在**無法**! – 2015-03-03 08:34:30

回答

2

你應該使用如下: -

message.equals("test") 

之後問題更多信息: -

How do I compare strings in Java?

+1

謝謝,它的工作原理,但我不想頻繁使用switch/case中的equals(),如何使用==正常檢查它? – 2015-03-03 07:47:59

+0

@MohammadLotfi認真如何比較'字符串'與==? – Gattsu 2015-03-03 08:15:47

+1

@MohammadLotfi'我不想使用equals()'...然後簡單地放棄和**不比較字符串**!由於**沒有其他方式**。 – 2015-03-03 08:36:10

0

使用

message.equals("test") 

「==」運算符實際上是檢查字符串對象(obj1和obj2)是否引用完全相同的內存位置。

但是,該的equals()法實際上意味着將內容(值)2個對象的比較,而不是它們在存儲器位置。

看到What's the difference between ".equals" and "=="?更多細節

+1

如何用==正常檢查它? 轉換等...... – 2015-03-03 07:50:05

+0

@MohammadLotfi你只是**不能** – 2015-03-03 09:19:07