我有一个现有的 Java 接口定义如下
public interface MyRetriever extends Function<String, Optional<String>> {}
并希望根据我的理解定义一个持有符合 SAM 转换的 Kotlin lambda 的变量
var a : MyRetriever = { s : String -> Optional.ofNullable(s.toLowerCase()) }
但相反,我得到一个类型不匹配的错误。
Type missmatch.
Required: MyRetriever
Found: (String) -> Optional<String>
lambda 实际上与 Java 函数定义匹配,我在这里缺少什么?