[JAVA] System.out.println("Hello" == "Hello") -> true???
JAVA / 2009. 4. 7. 11:23
수업 시간에 아주 흥미로운 이야기를 들었습니다.
자바에서 스트링 비교에서 == 연산자로 비교를 할 수 있다고 하시더군요~~
실행결과
true
false
false
평소에 배워오던 스트링 비교에서는 equals() 메소드를 써야한다고 배웠는데...
일반적으로 new String() 을 하게되면 Heap 영역에 독자적인 메모리 공간을 갖게 되는데,
그냥 "..." 로 스트링을 만들 경우에는 Heap 영역에 스트링 풀에서 관리를 한다고 합니다.
같은 스트링은 한 개만 저장한다고 하네요~
자바를 시작한지 6년이 지났는데... 정말 충격적인 사실이였습니다. ㅋㅋㅋㅋ