如何在if语句中比较用逗号分隔的多个单词?

时间:2011-04-18 04:29:37

标签: java

我有一个名为title的变量,其值为“Javascript,XML,XHTML,CSS,Ajax”。我需要在if语句中进行比较,如果标题等于上述值,则需要运行某些代码。

我用过

if (title == "Javascript,XML,XHTML,CSS,Ajax"){

} else if (title == " ") {

} else {

}

当标题为空时,代码转到第二个else部分并获得正确的结果。但是当标题等于Javascript,XML,XHTML,CSS,Ajax时,代码将转到最后else部分,而不是转到if部分。

我在这里犯了什么错误?我检查了大写小写,并且还使用分隔符逗号拼写字符串与变量标题中的字符串相同。那为什么我没有得到正确答案。

5 个答案:

答案 0 :(得分:3)

==比较运算符不是比较字符串内容的正确方法。您应该使用.equals方法:

if (title.equals("Javascript,XML,XHTML,CSS,Ajax")) {

答案 1 :(得分:2)

您正在使用==来比较字符串。您必须使用title.equals("Javascript, ...")进行字符串比较;否则,你正在检查它们是否实际上是内存中的同一个对象。

答案 2 :(得分:0)

如果您使用的是Java,则需要使用if (title.equalsIgnoreCase("Javascript,XML,XHTML,CSS,Ajax"))。 equals运算符用于确定两个指针是否具有相同的值(即指向同一个对象)。

答案 3 :(得分:0)

if(title.equals("Javascript,XML,XHTML,CSS,Ajax")) {
....
}

另一个建议,你应该先看看一些基本的Java!

答案 4 :(得分:0)

在Java中,字符串是对象。 ==运算符告诉您它们是否是同一对象的同一实例。请改为使用equals(...)方法。