在 Kotlin 中可以使用可变参数(vararg)解决回调函数中未知参数个数的问题。以下是示例代码:
定义一个回调接口: interface Callback { fun onCallback(vararg args: Any) }
实现回调接口: class MyClass { fun doSomething(callback: Callback) { // 执行任务 // 回调,传递参数 callback.onCallback("arg1", 2, true) } }
使用回调函数: val myClass = MyClass() myClass.doSomething(object : Callback { override fun onCallback(vararg args: Any) { // 处理回调函数传递的参数 for (arg in args) { Log.d("Callback", arg.toString()) } } })
在示例代码中,定义了一个回调接口 Callback,并定义了回调函数 onCallback,参数类型为可变参数(vararg)。在 doSomething() 函数中执行任务后,调用回调函数 onCallback,并传递任意多个参数。在使用回调函数时,创建一个实现 Callback 接口的匿名内部类,并重写 onCallback 函数处理回调函数传递的参数。
使用可变参数(vararg)可以灵活适应回调函数中传递的参数个数和类型,方便回调处理。