KotlinでAndroidで2つの値が等しいかをどのように判断しますか?

Kotlin では、== 演算子を使用して 2 つの値が等しいかどうかを判断できます。以下に例を示します。

  1. 基本タイプの値が等しいかどうかを判定する:
val a = 5
val b = 5
if (a == b) {
    println("a and b are equal")
} else {
    println("a and b are not equal")
}
  1. オブジェクトの値が等しいかどうかを確認する:
data class Person(val name: String, val age: Int)

val person1 = Person("John", 25)
val person2 = Person("John", 25)
if (person1 == person2) {
    println("person1 and person2 are equal")
} else {
    println("person1 and person2 are not equal")
}

オブジェクト同士を比較する==演算子はequalsメソッドを呼び出して等値を判定するため、独自にクラスのオブジェクトを比較する際にはequalsメソッドを正しくoverrideしておきましょう。

加えて、オブジェクトの参照が等しい(つまりオブジェクトが同一のインスタンスである)かどうかを比較する必要がある場合、===演算子を使用できます:

val person1 = Person("John", 25)
val person2 = person1
if (person1 === person2) {
    println("person1 and person2 are the same instance")
} else {
    println("person1 and person2 are not the same instance")
}
bannerAds