我尝试解决任务#6(DataClass)科特林公案 https://github.com/vicboma1/Kotlin-Koans#named-arguments。当我在代码中使用普通类时,测试用例失败。
这是我的数据类代码:
data class Person(val name: String, val age: Int)
fun task6(): List<Person> {
return listOf(Person("Alice", 29), Person("Bob", 31))
}
这是数据类的结果:
[Person(name=Alice, age=29), Person(name=Bob, age=31)]
这是我的普通类的代码:
class Person(val name: String, val age: Int)
fun task6(): List<Person> {
return listOf(Person("Alice", 29), Person("Bob", 31))
}
这是正常班级的结果:
[i_introduction._6_Data_Classes.Person@4f47d241, i_introduction._6_Data_Classes.Person@4c3e4790]
这是否意味着 Kotlin 中的普通类和数据类之间存在差异。如果是,那是什么?
Updated:
谢谢@Mallow,你是对的。这样可行:
class Person(val name: String, val age: Int) {
override fun toString(): String {
return "Person(name=$name, age=$age)"
}
}
fun task6(): List<Person> {
return listOf(Person("Alice", 29), Person("Bob", 31))
}