Equality

Kotlin에는 두가지 동등성이 있다

  • 참조 평등 (두 개의 참조가 같은 객체를 가리킴)
  • 구조 평등 (equals()에 대한 검사)

참조 평등

=== 연산으로 검사된다. (반대는 !==). a === bab가 같은 객체를 가리키는 경우에만 true

구조 평등

구조 평등은 == 연산으로 검사된다. (반대는 !=). 규약에따라 a == b 는 다음과 같이 변환된다.

a?.equals(b) ?: (b === null)

a 가 null 이 아닌 경우 equals(Any?) 함수를 호출하고, 그렇지 않으면 b가 null 과 동일한지 검사한다.

null 을 직접 비교할때 코드 최적화할 필요없다. a == null 을 자동으로 a === null 로 변환된다.

results matching ""

    No results matching ""