euqals와 == 은 기본적으로 두 개의 대상을 비교해 boolean 타입으로 반환한다는 공통점이 있다. 그리고 분명한 차이점도 있는데 그 내용을 정리해 보았다.
== 은 연산자 중에 하나이며, equals는 메소드이다. 사용 방법은 밑과 같다.
public class test{
public String str1;
public String str2;
public void test1{
str1 = "ABC";
str2 = "ABC";
boolean result1 = str1 == str2;
boolean result2 = str1.equals(str2);
}
}
==은 비교하고자 하는 대상의 주소값을 비교하고, equals는 비교하고자 하는 대상의 내용 자체를 비교한다.
public class test{
public String str1;
public String str2;
public String str3;
public void test1{
str1 = "ABC";
str2 = str1;
str3 = new String("ABC");
//true
boolean result1 = str1 == str2;
//true
boolean result2 = str1.equals(str2);
//false
boolean result3 = str2 == str3;
//true
boolean result4 = str2.equals(str3);
}
}
참고 문서 및 링크