Java 函数转换为 Kotlin 失败

标签 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)

附言无法提出更好的问题摘要...请随意更改。

最佳答案

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

import java.util.function.Function

那是因为默认情况下 Function 被解析为 kotlin.Function .

但是有function types在 Kotlin 中,更惯用的实现方式是

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

关于Java 函数转换为 Kotlin 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36645188/

相关文章:

java - 在构造对象时是否有在 java 中键入 this.x = x 的快捷方式?

java - 表达式的类型必须是数组类型,但它解析为 int - 与有效的数组语法相同吗?

c# - Kotlin 的数据类 == C# 的结构?

android - 属性委托(delegate)必须有一个 'getValue(ChatActivity, KProperty<*>)' 方法。以下功能都不适用 :

java - SWT:通知组合它有一个新的子组件

java - 具有规范、分页和标准获取连接的 Spring Data JPA 存储库

java - 修改TableView javafx中显示前的值

list - 如何在Kotlin中按其值对HashMap <String,Int>顺序进行排序?

android - Jetpack Compose – BottomBar 位于底部导航下方

java - 房间不会自动生成主键