Kotlin委托Delegate托管by

Kotlin委托Delegate托管by

Kotlin 复制代码
import kotlin.reflect.KProperty

fun main() {
    var user: String by MyDelegate()
    user = "fly"
    println(user)
}

class MyDelegate {
    private var v: String? = null

    operator fun getValue(thisRef: Any?, property: KProperty<*>): String {
        return "property='${property.name}' getValue ${v}"
    }

    operator fun setValue(thisRef: Any?, property: KProperty<*>, value: String) {
        v = value
        println("property='${property.name}' setValue -> $value")
    }
}

property='user' setValue -> fly

property='user' getValue fly

Kotlin 复制代码
import kotlin.properties.*

fun main() {
    var len: Int by Delegates.observable(0) { prop, oldValue, newValue ->
        println("$oldValue -> $newValue")
    }

    len = 2023
    len = 2024
}

0 -> 2023

2023 -> 2024

Delegates.observable追踪观察可变数据更新,Kotlin_zhangphil的博客-CSDN博客**Java观察者模式的场景:一个女孩洗澡,被很多男孩偷看。女孩洞察后,搜索坏男孩,然后继续洗澡。*//*男孩Boy.java*/import java.util.Observable;不定长函参的Java观察者模式更新数据传递import java.util.LinkedList;/** * 抽象被观察者。Java观察者模式 : Observer / Observable_zhangphil的博客-CSDN博客。不定长函参的Java观察者模式更新数据传递_zhangphil的博客-CSDN博客。https://blog.csdn.net/zhangphil/article/details/132088085

相关推荐
Kapaseker6 小时前
酷炫的文字效果 — Compose 文本着色
android·kotlin
雨白17 小时前
让协程更健壮:全面的异常处理策略
android·kotlin
Jeled18 小时前
AI: 生成Android自我学习路线规划与实战
android·学习·面试·kotlin
消失的旧时光-194319 小时前
@JvmStatic 的作用
java·开发语言·kotlin
wb0430720120 小时前
如何开发一个 IDEA 插件通过 Ollama 调用大模型为方法生成仙侠风格的注释
人工智能·语言模型·kotlin·intellij-idea
Bryce李小白1 天前
Kotlin Flow 的使用
android·开发语言·kotlin
深色風信子1 天前
SpringAI Kotlin 本地调用 Ollama
kotlin·springai ollama·kotlin springai·kotlin ai·kotlin ollama
alexhilton2 天前
理解retain{}的内部机制:Jetpack Compose中基于作用域的状态保存
android·kotlin·android jetpack
Sky#boy2 天前
Kotion 常见用法注意事项(持续更新...)
kotlin
奥陌陌2 天前
kotlin className.() 类名点花括号 T.() 这种是什么意思?
kotlin