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

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐