gpt4 book ai didi

java - 从 Java 添加到类型为 List[(Int) => Unit] 的 Scala 列表

转载 作者:行者123 更新时间:2023-12-02 02:37:31 38 4
gpt4 key购买 nike

我正在开发一个包含 Scala 和 Java 代码的项目。我有一个 Scala 方法定义为:

var responseListeners: List[(Int) => Unit]

def addResponseListener(onResponse: Int => Unit) {
responseListeners ::= onResponse
}

这个方法在 Scala 中被调用为:

addResponseListener(id => processors(id).wakeup())

现在我有一些 Java 代码,可以在其中访问 processors数组,但我如何调用 addResponseListener(onResponse: Int => Unit)来自 Java?

最佳答案

使用来自scala.runtimeAbstractFunction1:

AbstractFunction1<scala.lang.Int, Void> f = (i) -> doWorkWith(i);

如果 doWorkWith 不返回 void,您需要从 lambda 中返回 null;:

i -> {
doWorkWith(i);
return null;
}

另请参阅:

关于java - 从 Java 添加到类型为 List[(Int) => Unit] 的 Scala 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46064537/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com