You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin高阶函数提示暂不支持变量引用的替代实现方案咨询

报错原因

你遇到的References to variables aren't supported yet报错是语法使用错误导致:Kotlin 不支持::实例.方法的写法,若要获取绑定到具体实例的成员函数引用,双冒号需要放在实例名和方法名之间。

可行替代方案
  • 方案1:使用正确的实例绑定函数引用语法
    直接修改报错行的写法即可,和你原本的实现逻辑完全一致:
val some = Something(some1::square)
  • 方案2:使用Lambda表达式封装调用
    如果后续有更复杂的参数处理逻辑,也可以用Lambda实现,灵活性更高:
val some = Something { some1.square(it) }
完整可运行代码
class Something(val foo: (x: Int) -> Int){
    fun xyz(a: Int){
        print("result: ${foo(a)}")
    }
}

fun main() {
    val some1 = Something1()
    // 以下两种写法二选一即可
    val some = Something(some1::square)
    // val some = Something { some1.square(it) }
    some.xyz(10) // 运行输出:result: 100
}

class Something1{
    fun square(x: Int) = x*x
}

内容的提问来源于stack exchange,提问作者sadat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 08:24:03