如何在Kotlin中声明一个只包含只读属性的数据类?
在Kotlin中,可以使用`data class`关键字来声明一个只包含只读属性的数据类。通过`val`声明属性,属性值只能在初始化时赋值,之后无法更改。以下是一个示例:
```kotlin
data class User(val name: String, val age: Int)
```
在这个例子中,`User`是一个数据类,包含两个只读属性`name`和`age`。实例化该类后,这些属性的值不能被修改,但你可以通过`.copy()`方法生成一个带有部分更改的新实例,例如:
```kotlin
val user1 = User(name = "Alice", age = 25)
// 尝试更改属性会报错:user1.name = "Bob"
val user2 = user1.copy(age = 30) // 生成新的实例,`age`属性更改
println(user2) // 输出:User(name=Alice, age=30)
```
```kotlin
data class User(val name: String, val age: Int)
```
在这个例子中,`User`是一个数据类,包含两个只读属性`name`和`age`。实例化该类后,这些属性的值不能被修改,但你可以通过`.copy()`方法生成一个带有部分更改的新实例,例如:
```kotlin
val user1 = User(name = "Alice", age = 25)
// 尝试更改属性会报错:user1.name = "Bob"
val user2 = user1.copy(age = 30) // 生成新的实例,`age`属性更改
println(user2) // 输出:User(name=Alice, age=30)
```
若文章对您有帮助,帮忙点个赞!
(微信扫码即可登录,无需注册)