Kotlin约束泛型参数必须继承自某个父类

Kotlin约束泛型参数必须继承自某个父类

Kotlin 复制代码
open class SuperData {
}

class DataA : SuperData {
    constructor() {
        println("DataA constructor")
    }
}

class DataB : SuperData {
    constructor() {
        println("DataB constructor")
    }
}

fun <T : SuperData> myfun(param: T) {
    if (param is DataA) {
        println("myfun DataA")
    }

    if (param is DataB) {
        println("myfun DataB")
    }
}

fun main() {
    val dataA = DataA()
    myfun(dataA)

    val dataB = DataB()
    myfun(dataB)
}

DataA constructor

myfun DataA

DataB constructor

myfun DataB

Kotlin函数作为参数指向不同逻辑(二)-CSDN博客文章浏览阅读683次。一般编程的技法,比如,在Android中,假设在主线程中实现了一个函数,但该函数是耗时操作,毫无疑问,需要将这个函数的实现切入非主线程中操作,那么可以设计一种托管的函数,在托管的函数里面干脏活,处理完成后,把结果抛到主线程。一般编程的技法,比如,在Android中,假设在主线程中实现了一个函数,但该函数是耗时操作,毫无疑问,需要将这个函数的实现切入非主线程中操作,那么可以设计一种托管的函数,在托管的函数里面干脏活,处理完成后,把结果抛到主线程。kotlin把函数作为参数转递给另一个函数-CSDN博客。https://blog.csdn.net/zhangphil/article/details/133382999

Kotlin函数作为参数指向不同逻辑_ketlin 将方法作为参数-CSDN博客文章浏览阅读1.4k次。一般编程的技法,比如,在Android中,假设在主线程中实现了一个函数,但该函数是耗时操作,毫无疑问,需要将这个函数的实现切入非主线程中操作,那么可以设计一种托管的函数,在托管的函数里面干脏活,处理完成后,把结果抛到主线程。一般编程的技法,比如,在Android中,假设在主线程中实现了一个函数,但该函数是耗时操作,毫无疑问,需要将这个函数的实现切入非主线程中操作,那么可以设计一种托管的函数,在托管的函数里面干脏活,处理完成后,把结果抛到主线程。kotlin把函数作为参数转递给另一个函数-CSDN博客。_ketlin 将方法作为参数https://blog.csdn.net/zhangphil/article/details/133378966

相关推荐
胡致和13 小时前
配置变更后,弹窗为什么飞到了最左边?
kotlin
zhangphil18 小时前
Android Page 3 Flow读sql数据库媒体文件,Kotlin
android·kotlin
小书房19 小时前
Kotlin使用体验及理解1
android·开发语言·kotlin
Kapaseker20 小时前
我想让同事知道我很懂 Compose 怎么办?
android·kotlin
jinanwuhuaguo1 天前
OpenClaw工程解剖——RAG、向量织构与“记忆宫殿”的索引拓扑学(第十三篇)
android·开发语言·人工智能·kotlin·拓扑学·openclaw
jinanwuhuaguo2 天前
OpenClaw协议霸权——从 MCP 标准到意图封建化的政治经济学(第十八篇)
android·人工智能·kotlin·拓扑学·openclaw
zhangphil2 天前
Android sql查媒体数据封装room Dao构造AndroidViewModel,RecyclerView宫格展示,Kotlin
android·kotlin
jinanwuhuaguo2 天前
反熵共同体——OpenClaw的宇宙热力学本体论(第十七篇)
大数据·人工智能·安全·架构·kotlin·openclaw
pengyu2 天前
【Kotlin 协程修仙录 · 筑基境 · 中阶】 | 身份证与通行证:CoroutineContext 的深度解剖
android·kotlin
夏沫琅琊2 天前
android 短信读取与导出技术
android·kotlin