C++에 익숙한 사람들이 자주 저지른 실수중에 하나는,
자바에서 string 비교시 == 를 사용한다는 점이다.
하지만 이런경우 동일한 문자열을 지니고 있어도 어쩔때는 true, 어쩔때는 false 를 리턴하는데,
그 이유는 java 안에서의 == 에 있다.
C++ 에서 string 에 대해 == 를 쓰는경우,
string 클래스의 operator 를 이용하는 것이며,
java 에서의 == 는,
system operator 로서 string object 를 하나의 변수로 보고 그 안의 값을 통채로 비교하게 되는 것이다.
따라서 동일한 문자열을 지니고 있어도 그 이외의 내부 변수는 다를 수 있으므로
자바에서 == 는 문자열을 비교하는데에는 적합하지 않다.
결론. 자바에서 문자열이 같은지를 비교할 경우에는
string interface인 equals() 나 compareTo() 를 사용한다.
'Programming' 카테고리의 다른 글
Dynamic Invocation In JAVA (동적 메쏘드 호출) (0) | 2010.01.19 |
---|---|
Java newline characters (0) | 2010.01.15 |
서버에서 SIGPIPE 처리하기 (0) | 2009.11.24 |
JDOM Error - Content is not allowed in trailing section. (0) | 2009.11.16 |
JAR만들기 및 JAR만을 이용하여 특정 java 파일 컴파일 및 실행하기. (0) | 2009.11.12 |
댓글