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()
        }

运行结果:

image

posted @ 2025-09-06 08:38  刘宏缔的架构森林  阅读(7)  评论(0)    收藏  举报