精彩的字符串内容校验
Wonderful string content check
我正在使用此代码,它成功检索了收到的消息:
Bundle bundle = intent.getExtras();
Object[] object = (Object[]) bundle.get("pdus");
SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) object[0]);
String message = smsMessage.getMessageBody().trim();
消息正好等于 "test" 并且 message.length()
等于 4(没有隐藏字符)但是波纹管命令 returns false!
if (message == "test") ...
如何使用 == 而不是 equals()?
谢谢...
您应该使用以下:-
message.equals("test")
有关更多信息,请阅读以下问题:-
How do I compare strings in Java?
使用
message.equals("test")
“==” 运算符实际上是在检查字符串对象(obj1 和 obj2)是否指向完全相同的内存位置。
但是,equals() 方法实际上是为了比较 2 个对象的 内容(值),而不是它们的位置在记忆中。
有关详细信息,请参阅 What's the difference between ".equals" and "=="?
我正在使用此代码,它成功检索了收到的消息:
Bundle bundle = intent.getExtras();
Object[] object = (Object[]) bundle.get("pdus");
SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) object[0]);
String message = smsMessage.getMessageBody().trim();
消息正好等于 "test" 并且 message.length()
等于 4(没有隐藏字符)但是波纹管命令 returns false!
if (message == "test") ...
如何使用 == 而不是 equals()?
谢谢...
您应该使用以下:-
message.equals("test")
有关更多信息,请阅读以下问题:-
How do I compare strings in Java?
使用
message.equals("test")
“==” 运算符实际上是在检查字符串对象(obj1 和 obj2)是否指向完全相同的内存位置。
但是,equals() 方法实际上是为了比较 2 个对象的 内容(值),而不是它们的位置在记忆中。
有关详细信息,请参阅 What's the difference between ".equals" and "=="?