Java函数转换为Kotlin失败

时间:2016-04-15 10:51:04

标签: java kotlin

尝试将一些java代码转换为kotlin,给出以下方法

public class Option<T> {

  public <U> Option<U> map(Function<T, U> mapper) {
    throw new IllegalStateException();
  }
}

kotlin转换会给出这个

enter image description here

我无法理解这里的问题是什么,我如何在kotlin中创建等效方法? (那就是java.util.Function

P.S。无法提出一些更好的问题摘要......随意改变。

1 个答案:

答案 0 :(得分:8)

要使用java.util.function.Function,您必须明确导入它:

import java.util.function.Function

这是因为默认情况下Function已解析为kotlin.Function

但是Kotlin中有function types,更多惯用的实现将是

fun <U> map(mapper: (T) -> U): Option<U> {
    // ...
}