상세 컨텐츠

본문 제목

[java] empty , null , equals , ==

개발

by 동동주1123 2015. 5. 16. 20:00

본문


String aaa = "";

String aaa = null;


두개는 다르다.


equal 과 ==  비교도 다르다


철자비교를 할때는 equals을 사용

메모리에 위치한 문자열 위치가 같은지 비교할때는 ==


String bbb = "test";

String ccc = "test";

String ddd = new String("test")


bbb 와 ccc는 같지만

ccc 와 ddd는 다르다.


따라서 문자열 비교를 할경우

bbb.equals(ddd) 는 철자를 비교하지만

bbb == ddd 의 경우는 다르다.


이유는 각변수를 System.identityHashCode() 로 찍어서 해시값(메모리) 확인해 보면 된다.

new 라는 키워드가 객체 생성 키워드이므로 문자열은 같아도 보는 위치는 다르다.




관련글 더보기