我有一个名为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
部分。
我在这里犯了什么错误?我检查了大写小写,并且还使用分隔符逗号拼写字符串与变量标题中的字符串相同。那为什么我没有得到正确答案。
答案 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(...)方法。