kotlin通用的invoke()函数

invoke()方法是kotlin对象类中默认持有的方法,可以通过operator关键字重载invoke()方法

enum class OperatorTest {

    TEST;

    operator fun invoke(data: String){
        Log.d("LogUtils","data : $data")
    }
}

fun execute(){
    val start = OperatorTest.TEST
    //原始调用方式
    start.invoke("测试1")
    //简化调用方式
    start("测试2")
}

运行结果

D/LogUtils: data : 测试1
D/LogUtils: data : 测试2

 

kotlin类默认含有invoke()方法,并且可以通过operator关键字重载,可以采用原始调用方式:class.invoke(···);kotlin允许简易调用:class()


版权声明:本文为u010194271原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。