본문 바로가기
Develop/Java

문자열 비교 - 비교 연산자(==)와 equals() 메서드 차이

by jaeyoungb 2022. 9. 15.

문자열을 비교하는 방법에는 비교 연산자(==)를 사용하는 방법과 equals() 메서드를 사용하는 방법 등이 있다.

 

 

먼저, equals() 메서드를 활용해서 문자열을 비교하는 예시 코드를 보자.

equals() 메서드 활용

 

equals() 메서드는 최상위 클래스인 Object 클래스에 정의되어 있는 메서드이다.

일반적으로, 문자열을 비교할 때는 이 equals() 메서드를 쓰는게 안정적이다.

 

 

왜인지는, 다음 비교 연산자를 통해 문자열을 비교하는 방법을 보면서 확인하자.

비교 연산자 == 는 같은 객체인지를 비교한다.

 

str4와 str5는 둘 다 동일한 문자열 "Hi"를 가리키기 때문에, 같은 객체이다.

 

그러나, str6 같은 경우에는 new String()으로 객체를 생성했기 때문에, 위 두 문자열과는 다른 객체라고 할 수 있다.

문자열은 같지만, 객체가 서로 다르므로, str4 == str6 같은 경우는 출력이 false가 된다.

 

 

문자열 비교를 함에 있어서, 비교 연산자를 사용해도 예상했던 결과를 출력할 수도 있다.

그러나, 비교하는 두 문자열의 객체가 서로 다르다면 결과는 다르게 나올 것이다.

 

문자열을 비교하려 할 때에는 되도록이면 equals() 메서드를 이용하도록 하자.

'Develop > Java' 카테고리의 다른 글

요소를 순회하는 Iterator  (0) 2022.09.18
컬렉션 프레임워크(Collection Framework)  (0) 2022.09.18
break의 범위  (1) 2022.09.13
예외 정보를 얻는 방법 3가지  (0) 2022.09.13
추상화(Abstraction)  (0) 2022.09.10