首页主机资讯Kotlin中的委托属性有哪些

Kotlin中的委托属性有哪些

时间2024-06-01 15:22:04发布访客分类主机资讯浏览1010
导读:在Kotlin中,委托属性有以下几种: lazy属性:延迟初始化属性,只有在首次访问时才会进行初始化。 val lazyValue: String by lazy { println("computed" "Hello...

在Kotlin中,委托属性有以下几种:

  1. lazy属性:延迟初始化属性,只有在首次访问时才会进行初始化。
val lazyValue: String by lazy {

    println("computed")
    "Hello"
}

  1. observable属性:属性变化监听器,当属性被赋新值时,会调用监听器。
var name: String by Delegates.observable("initial value") {
     prop, old, new ->
    
    println("$old ->
 $new")
}

  1. vetoable属性:属性变化拦截器,当属性被赋新值时,可以根据条件决定是否接受新值。
var age: Int by Delegates.vetoable(0) {
     prop, old, new ->
    
    new >
= 0
}
    
  1. map属性:通过Map委托实现属性存储。
val userMap = mutableMapOf("name" to "Alice", "age" to 30)
val name: String by userMap
val age: Int by userMap

除了以上几种常见的委托属性,Kotlin还支持自定义委托属性,开发者可以根据自己的需求实现自定义的委托属性。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Kotlin中的委托属性有哪些
本文地址: https://pptw.com/jishu/672874.html
Kotlin中的字符串操作与格式化方法是什么 Kafka的故障恢复与容灾策略是什么

游客 回复需填写必要信息