상세 컨텐츠

본문 제목

== 와 equals 차이

프로그래밍/Java

by ........? 2012. 4. 30. 17:19

본문

== 는 선언된 변수가 참조하는 메모리 주소를 비교함

equals()는 선언된 변수의 값을 비교함




String A = "하하하"; 

String A1 ='하하하"; 

String A2 = new String("하하하"); //new연산자는 메모리에 해당 인스턴스를 생성하고 그                                                    참조정보를 반환하는 연산자


AA1의 == 는 true

AA2의 == 는 false


A.equals(A1) 은 true

A.equals(A2) 은 true



//A에 의해 메모리에 "하하하' 가 인스턴스로 생성된다

//같은값(내용)의 String 객체는 메모리에 하나만 생성되기 때문에

//A1A에 의해 생성된 "하하하' 인스턴스의 참조정보를 같이 사용하게 된다

//내용(값)이 같으면 String은 인스턴스를 새로 생성하지 않고 참조정보만을 넘겨준다


'프로그래밍 > Java' 카테고리의 다른 글

Calender.getInstance() & DAY_OF_WEEK  (0) 2012.05.09
indexOf  (0) 2012.05.09
out.clear()  (0) 2012.05.08
StringBuffer  (0) 2012.05.08
인터페이스(interface)  (0) 2012.04.20

관련글 더보기

댓글 영역