기본형의 경우는 비교 연산자에서 값의 비교가 가능하지만 참조형인 경우 참조가 동일한지 비교한다. 값을 비교하려면 equals()
와 compareTo()
등의 방법을 사용한다.
값이 같은 경우 true
아니면 false
를 반환한다.
인수 쪽이 큰 경우 음수, 인수와 동일한 경우 0, 인수 쪽이 작은 경우 양수를 리턴한다.
String s1 = "123";
String s2 = new String("123");
// 참조 비교
if(s1 == s2){
System.out.println("s1과 s2는 참조가 같다");
}
// 값이 같은지 비교
if(s1.equals(s2)) {
System.out.println("s1과 s2는 값이 같다");
}
// 값의 대소를 비교
int result = s1.compareTo(s2);
if(result == 0) {
System.out.println("값이 같다");
} else if (result < 0) {
System.out.println("s1은 s2보다 작다");
} else if (result > 0) {
System.out.println("s1은 s2보다 크다");
}