Mobile/앱개발_Flutter_ios_android

[Kotlin] 코틀린 값 비교 - Equality Checks

버리야 2022. 8. 27. 09:00
반응형

Kotlin에서 == 연산자는 값이 같은지 비교하고, === 연산자는 참조값이 같은지 비교하는데 사용합니다.

a == b 처럼 쓰면 아래처럼 컴파일 됩니다.

if (a == null) b == null else a.equals(b)

 

 

아래 초 간단 예제를 봅니다.

set, list 모두 동일한 결과이고 == 는 순서에 상관없이 set에 값이 같으면 true, === 는 객체 자체가 같은지 비교하니까 false로 나옵니다.

list는 == 은 값의 순서가 같아야지 true, === 는 다른 객체니까 false로 나옵니다.

fun main() {
  val book1 = setOf("book1","book2")
  val book2 = setOf("book1","book2")

  println(book1 == book2) // true
  println(book1 === book2) //false
  
  val book3 = listOf("book1","book2")
  val book4 = listOf("book1","book2")

  println(book3 == book4) //true
  println(book3 === book4) //false
  println(book3 != book4)   // false
  
  val book5 = listOf("book2", "book1")
  println(book3 == book5) // false
}
반응형
1 2 3 4 5 6