-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方法進行字符串比較而不是==。 –
我只是在想這已經過了幾天,因爲有人問過這個問題。 –