2015-03-03 44 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