// Person data class
data class Person(val name: String)
fun main() {
// プリミティブ型の同一性
val a = "a"
val b = "a"
val c = "b"
println(a.equals("a")) // true
println(a.equals(b)) // true
println(a == b) // true
println(a.equals(c)) // false
// データクラス(インスタンス)の同一性
val taro = Person("Taro")
val taro2 = Person("Taro")
println(taro.equals(taro2)) // 構造的同一性はtrue
println(taro === taro) // 参照同一性はfalse
}