Я новичок в Java, и мне трудно понять, почему оператор if/else в этом коде кажется, что строки a
и c
не равны.Почему эти строки не равны?
public class Main {
public static void main(String[] args) {
String a = "foo";
String b = "Foo";
String c = b.toLowerCase();
System.out.println(c);
if (a == c) {
System.out.println("Strings are equal");
}
else {
System.out.println("Strings are NOT equal");
}
}
}
Вот результат:
foo
Strings are NOT equal
Я использую www.learnjava.org и их веб-сервис для компиляции/выполнения кода, если это имеет значение.
Благодаря
Вы достаточно активны в сообществе, я ожидаю, что вы узнаете, что хотите найти SO, прежде чем задавать вопрос. – CubeJockey
Я, извините, я думал, что ошибка была в методе 'toLowerCase', и обыскал это. Я считал само собой разумеющимся, что '==' был эквивалентен по значению, так как руководство, которое я использую, делает это для целых чисел. –