== / equals

넙데데맨·2022년 1월 13일
0
post-custom-banner

1. ==와 equals() 차이점


연산자 ==는 대상들의 주소값을 비교
String 클래스의 equals 메소드는 대상들의 값자체를 비교한다.

2. 결과가 다른 이유


int, char형 등의 변수는 Call by Value 형태로 대상의 주소값을 가지지 않는 형태로 사용됨
String은 클래스기 때문에 Call by Reference 형태로 생성되기 때문에 주소값이 생성된다.

따라서 Call by Value 형태의 변수들을 비교할 땐 비교가 되지만 String 객체를 ==로 비교할 경우 주소값이 다르게 되어 같은 문자열이라도 같지 않다고 표기되게 된다

참고자료


https://coding-factory.tistory.com/536

profile
차근차근

0개의 댓글