본문 바로가기
어쩌면 모두 궁금할지도?

.equals() 재밌는 실험

by notcherry 2023. 7. 12.

==가 저장되어있는 주소값을 비교하는 것이라면

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));
    }

 

 

 

 

결과