У меня есть проблема, из-за которой я запутался. У меня есть следующие строки кода в моем приложении для 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 символам, как и следовало ожидать.
Кто-нибудь знает, что здесь происходит?