-2
У меня есть этот блок кода здесь (Java):Операция Java if, возвращающая как не равную?
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] равны, если заявление оленья кожа так думать. У меня есть несколько операторов печати, чтобы вернуть значение, чтобы проверить его, и оно печатает как равные. Кто-нибудь знает, почему это происходит?
Использовать метод String equals для сравнения строк вместо ==. –
Я просто думал, что прошло несколько дней с тех пор, как кто-то спросил об этом. –