如何在if语句中检查两个字符串是否相等?

时间:2013-12-05 20:40:19

标签: java

我想弄清楚字符串的某个部分是否等于某事。这是代码:

String words[] = resulter.split(" ");
    secondword = words[1];
    if (secondword == "is"){
        isarepresent = true;
    }

因此,例如字符串结果可以等于“有人着名”,然后这应该检测到第二个单词是“是”。但是,由于某种原因,if语句似乎不起作用。

4 个答案:

答案 0 :(得分:2)

if (secondword.contentEquals("is")
{
isarepresent = true;
}

答案 1 :(得分:0)

等于运算符(==)检查两个对象在内存中是否具有相同的位置。 要检查两个字符串是否相等,请使用equalsequalsIgnoreCase()方法。

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