是的,Kotlin 数据类可以处理复杂逻辑。虽然数据类的主要目的是存储数据,但它们也可以包含构造函数、属性和方法。你可以在数据类中添加自定义的初始化逻辑、计算属性或扩展方法等,以处理复杂的逻辑。
以下是一个简单的 Kotlin 数据类示例,其中包含了一些复杂逻辑:
data class User(val name: String, val age: Int, val address: Address) {
// 计算用户的年龄范围
fun ageRange(): String {
return when {
age < 18 -> "未成年"
age >= 18 && age < 60 -> "成年"
else -> "老年"
}
}
}
data class Address(val street: String, val city: String, val country: String)
在这个例子中,我们定义了一个 User
数据类,它包含了姓名、年龄和地址属性。我们还添加了一个名为 ageRange
的方法,用于根据用户的年龄返回年龄范围(未成年、成年或老年)。这个逻辑是在数据类内部处理的。