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