inblog logo
|
codingb
    Java

    ==와 equals

    Jan 28, 2024
    ==와 equals

    1. ==와 equals

    1. ==

    💡
    ==는 값과 주소를 모두 비교할 수 있다. 다만, 프리미티브 타입은 ‘값’을 비교하고, 레퍼런스 타입은 ‘주소’를 비교한다.
    notion image
    여기서 ==는 메모리 주소를 비교하는 것! account랑 account2는 다르니 결과 출력 X
     

    2. equals

    notion image
    결과 출력 X
    notion image
     

    3. 상태값을 비교하는 법 .toString().equals()

    notion image
    account.equals() -> 오브젝트. 주소 비교 account.toString() -> equals() (주소 비교와 값비교)
    account.toString()는 String 타입이다. account.toString()는 " ".equals로 똑같이 쓸 수 있다. * 오브젝트가 들고있는 주소를 비교한 것
     

    3-1. 왜 이렇게 나오나?

    notion image
    equals를 ctrl + 좌클릭 해서 확인하면 이렇게, 먼저 주소를 비교하고, 동일하지 않으면 값을 비교하게 되어있어서 그런 것. 즉, equals는 값을 2번 비교하고, 객체의 상태를 비교할 때는 toString equals를 사용한다!!
     

    Share article

    codingb

    RSS·Powered by Inblog