나는 다소 혼란스러워하는 문제가 있습니다. 내 안드로이드 응용 프로그램에서 다음 코드 줄을 : 내가 처음에 println 문의 출력을 볼 때안드로이드의 자바에서 문자열이 동일하지 않은 것처럼 보일 수도 있지만
System.out.println(CurrentNode.getNodeName().toString());
if (CurrentNode.getNodeName().toString() == "start") {
System.out.println("Yes it does!");
} else {
System.out.println("No it doesnt");
}
그것은 (분명히 따옴표없이) "시작"으로 로그 캣에 나타납니다. 하지만 if 문이 실행되면 else 문으로 이동하여 "아니요"라고 인쇄합니다.
노드의 이름에 인쇄 할 수없는 문자가 포함되어 있는지 궁금해했습니다. 따라서 getNodeName()에서 오는 문자열의 길이를 확인 했으므로 예상 한대로 5 자입니다. .
여기에 무슨 일이 일어나는 지 아십니까?
'CurrentNode.getNodeName(). toString()의 결과는 무엇입니까?'(시작) == "시작". 등가 (CurrentNode.getNodeName(). toString()'? –
@MohammedShareefC I ' d 사실을 기대할 수는 있지만 테스트 해 보면 알 수 있습니다. –
예. 너무 게으르다 죄송합니다. –