2019년 4월 16일 화요일

[Java] "==" vs equals()

"==" equals() 부가설명
operator method Java에서 operator의 overriding은 불가능
Object, Primitive 모두 비교 시 사용 가능 Object 비교 시에만 사용 가능
메모리 참조값 비교 Object class에 정의된 비즈니스 로직대로 비교 만약 Object class의 equals 메소드를 overriding하지 않았다면 "=="와 같은 로직으로 비교를 한다.


String이 같은 문자열을 가지고 있는지 판단할 때, 어떤 것을 사용해야 할까?

equals()를 사용해야 한다.

java.lang.String 클래스는 equals() 메소드를 overriding해 놓았기 때문에 문자열 내용이 같으면 true를 반환한다. 하지만 "=="을 사용할 경우, 같은 내용의 문자열을 가리키고 있더라도 같은 메모리를 참조하고 있어야만 true를 반환한다.

댓글 없음:

댓글 쓰기