kotlin: 泛型扩展函数
一,功能
泛型扩展函数 可以支持 任何类型的 接收者 ( 调用函数的实例对象 ) , 同时还可以 获取 接收者 的 泛型参数类型 ;
泛型扩展函数 格式 : 一般 泛型扩展函数 都是为了 配合 链式编程 , 其 返回值类型 就是 接收者泛型参数类型 ;
二,例子:
代码:
//处理按钮点击事件
binding.button1.setOnClickListener {
// 泛型扩展函数
fun <T> T.printSelf1(): T{
println("T:"+this)
return this
}
// 字符串扩展函数
fun String.addStr(str: String): String {
println("this = $this, string = $str")
return this + str
}
// 链式编程
"abc".printSelf1().addStr("123").printSelf1()
fun Any.printSelf2(): Any {
println("Any:"+this)
return this
}
//Any需转为字符串才可以调用addStr
("def".printSelf2() as String).addStr("456").printSelf2()
}
运行结果:

浙公网安备 33010602011771号