Строки не кажутся равными в Java на Android, хотя они печатают одинаково

У меня есть проблема, о которой я немного запутался. У меня есть следующие строки кода в моем приложении для Android:

System.out.println(CurrentNode.getNodeName().toString());
if (CurrentNode.getNodeName().toString() == "start") {
    System.out.println("Yes it does!");
} else {
    System.out.println("No it doesnt");
}

Когда я смотрю на вывод первого оператора println, он отображается в LogCat как «начало» (без кавычек, очевидно). Но затем, когда оператор if выполняется, он переходит к оператору else и печатает «Нет, это не так».

Я подумал, может ли имя узла содержать какой-нибудь непечатаемый символ, поэтому я проверил длину строки, получаемой из getNodeName (), и она, как и следовало ожидать, составляет 5 символов.

У кого-нибудь есть идеи, что здесь происходит?

Ответы на вопрос(3)

Ваш ответ на вопрос