我尝试编写以下代码:
val s: Function<String, String> = { s -> s + s }
它编译时出现以下错误:
Type mismatch: inferred type is (???) -> [Error type: Return type for function cannot be resolved] but Function<String, String> was expected
Cannot infer a type for this parameter. Please specify it explicitly.
Kotlin
将lambda分配给函数的正确方法是什么Java
?
您遇到的问题是由于在将 lambda 表达式与 Java 函数式接口结合使用时,Kotlin 的类型推断在此特定上下文中无法按预期工作。
Function
为了解决这个问题,您可以在代码中使用接口显式声明 lambda 类型:尝试使用
Function<String, String>
完整示例: