Java Can';t将收到的短信文本与Android中的值进行比较

Java Can';t将收到的短信文本与Android中的值进行比较,java,android,sms,Java,Android,Sms,我是编程新手,所以请容忍我。在完成了几个教程之后,我制作了一个SMS应用程序,我想在收到特定文本时执行一个特定任务,我通过将收到的文本与我已经声明的值(代码)进行比较来实现这一点。问题是这种情况永远不会发生 公共类SmsReceiver扩展了BroadcastReceiver { @凌驾 公共void onReceive(上下文、意图) { //---获取传入的SMS消息--- Bundle=intent.getExtras(); SmsMessage[]msgs=null; 字符串str=“

我是编程新手,所以请容忍我。在完成了几个教程之后,我制作了一个SMS应用程序,我想在收到特定文本时执行一个特定任务,我通过将收到的文本与我已经声明的值(代码)进行比较来实现这一点。问题是这种情况永远不会发生


公共类SmsReceiver扩展了BroadcastReceiver
{
@凌驾
公共void onReceive(上下文、意图)
{
//---获取传入的SMS消息---
Bundle=intent.getExtras();
SmsMessage[]msgs=null;
字符串str=“”;
字符串代码=“蓝色”;
字符串conf=“Ok”;
字符串inv=“无效”;
if(bundle!=null)
{
//---检索收到的SMS消息---
Object[]pdus=(Object[])bundle.get(“pdus”);
msgs=新SMS消息[PDU.length];

对于(int i=0;i比较两个字符串时,应使用:

if (str.equals(code))
Java不像用于连接一样,在字符串相等测试中重写equals操作符


只有当两个字符串变量都引用内存中完全相同的对象时,test
str==code
才会计算为true。

比较两个字符串时,应使用:

if (str.equals(code))
Java不像用于连接一样,在字符串相等测试中重写equals操作符

只有当两个字符串变量都引用内存中完全相同的对象时,test
str==code
才会计算为true。

String str1=“hello”

字符串str2=“世界”

if(str1==str2)//不适用于字符串,可用于整数

if(str1.equals(str2))//适用于字符串

if(str1.compareTo(str2)>0)//适用于字符串

字符串str2=“世界”

if(str1==str2)//不适用于字符串,可用于整数

if(str1.equals(str2))//适用于字符串

if(str1.compareTo(str2)>0)//适用于字符串