본문 바로가기

Java and Android/eclipse Java

Java - primitive and non primitive-비교연산자

자바에는 원시데이터 타입(primitive)과 비원시데이터 타입(non primitive)이 있는데,
자바는 이 둘을 다루는데 차별이 있다.

요약하자면, int같은 원시데이터 타입은 ==로, String같은 비원시데이터타입은 equals()를 쓰는 것이 좋다.

==(동등연산자)는 '메모리 상에서 같은 주소(위치)를 가리키고 있냐'라는 물음이기 때문에 원시데이터타입의 경우 값이 동일하면 true가 반환된다.

equals() 메소드는 '값 내용물이 같은가'라는 물음이기 때문에 비원시데이터 타입에서 사용된다.
(String 같은 경우는 자주 쓰이기 때문에 동등연산자 ==를 사용해줄수도 있으나, 오류가 날 수도 있으므로 그냥 equals를 쓰는게 속편하다.)