==가 저장되어있는 주소값을 비교하는 것이라면
equals는 객체의 내용을 비교하는 메소드이다.
public static void main(String[] args) {
String a = "123";
String b = "456";
String c = new String("123");
Integer num1 = 1;
Integer num2 = 1;
int num3 = 1;
int num4 = 1;
//a와 b는 다른 값을 참조한다.
System.out.println(a.equals(b));
//a와 c는 같은 값을 갖고 있다.
System.out.println(a.equals(c));
//c는 새로운 객체. 같은 값을 갖고 있지만 메모리 주소는 다르다.
System.out.println(a == c);
//num1과 num2는 같은 값을 참조한다.
System.out.println(num1.equals(num2));
//num1과 num3도 같은 값을 참조한다.
System.out.println(num1.equals(num3));
//primitive 타입 변수라 equals 사용 불가능
//System.out.println(num4.equals(num3));
}
결과
'어쩌면 모두 궁금할지도?' 카테고리의 다른 글
@NonNull vs. @NotNull vs. @Column(nullabe = false) (0) | 2023.10.12 |
---|---|
Arrays.sort() vs. Collections.sort() (0) | 2023.07.18 |
intValue() vs. Integer.parseInt() (0) | 2023.07.12 |
break; vs. return; (0) | 2023.07.05 |
(int) vs. parseInt vs. valueOf (0) | 2023.07.04 |