java - 如何在 Java 中将 Scala 回调函数设置为参数?
问题描述
我是 Scala 的新手,不得不使用 Scala 用 Java 编写的库。这是所需的流程:
public void myMethod(?)
从 Scala调用 Java 方法myMethod
可能会长时间运行,所以?
我想有一个回调机制myMethod
完成,在这种情况下,我并不真正关心结果,因此返回值无关紧要。
我发现了很多从 Java 调用 Scala 的例子,反之亦然,但不是作为 Java 函数中的引用参数。我想这类似于在 Java 中设置接口参数,但我的尝试失败了:
// java
public interface Callback {
void callback(double d);
}
public void myMethod(Callback callback) {
// do some stuff
callback.callback(123D);
// do more stuff
}
// scala
x.myMethod((x: Double) => {})
解决方案
推荐阅读
- jquery - 页面加载 2 秒后更改选择选项
- msbuild - 缺少 Microsoft.VisualStudio.Tools.Office.targets
- javascript - jQuery mobile - 当用户滚动到特定元素时触发事件
- c++ - 函数隐藏和重载的区别
- jquery - 检查元素是否包含特定文本并向不同元素添加新类
- spring - 究竟什么是 server.error.path 属性?
- javascript - 从数组中的 JSON 对象中获取记录
- w2ui - 无法搜索网格中的切换列
- firebase - 如何在 Flutter 中用 Column 或 ListView 类包装 StreamBuilder 类?
- facebook - IBM Watson 个性服务和 Facebook 登录