-2
我有这个代码块在这里(JAVA):Java如果语句返回不相等?
void findDistance() {
String name1 = new String();
Scanner s = new Scanner(System.in);
System.out.print("Enter the name of Starting Location: ");
name1 = s.next();
name1 = name1.toLowerCase();
for (int i = 0; i < numCities; i++) {
System.out.println(name1);
System.out.println(cityNames[i]);
if (name1 == cityNames[0]){
// int x = i;
System.out.print("x");
}
else {
// System.out.println(name1);
// System.out.println(cityNames[i]);
System.out.println("y");
}
}
}
出于某种原因,即使NAME1和cityNames [0]相等,if语句犯规这么认为。我有几个打印语句来返回里面的值来测试它,并且它的打印效果是相同的。任何人都知道为什么会发生这种情况?
使用String equals方法进行字符串比较而不是==。 –
我只是在想这已经过了几天,因为有人问过这个问题。 –