我想弄清楚字符串的某个部分是否等于某事。这是代码:
String words[] = resulter.split(" ");
secondword = words[1];
if (secondword == "is"){
isarepresent = true;
}
因此,例如字符串结果可以等于“有人着名”,然后这应该检测到第二个单词是“是”。但是,由于某种原因,if语句似乎不起作用。
答案 0 :(得分:2)
if (secondword.contentEquals("is")
{
isarepresent = true;
}
答案 1 :(得分:0)
等于运算符(==)检查两个对象在内存中是否具有相同的位置。
要检查两个字符串是否相等,请使用equals
或equalsIgnoreCase()
方法。
if(secondword.equals("is")){}
if(secondword.equalsIgnoreCase("Is")){}
答案 2 :(得分:0)
您不应使用==
进行String
比较。它将检查直接内存地址。
取而代之的是:if (secondword.equals("is")
。
答案 3 :(得分:0)
只有两个添加两个有用的行。比较字符串有两种主要方法:
str1.equals(str2)
str1.contentEquals(str2)
使用第一个(实际上也是equalsIgnoreCase()
),您将比较String
的两个实例,而第二个实例可以将String
与{{1}的任何实例进行比较}}。因此,根据您想要比较的内容,您应该使用第一个或第二个。
将文字放在开头也是一种很好的做法,因此确保你没有获得NPE
CharSequence