【发布时间】:2026-02-01 21:35:01
【问题描述】:
我正在尝试从 java 调用 scala.Function2:
static public String foo(scala.Function2<String, scala.Int, String> bar) {
return "Hello " + bar.apply("World", 2);
}
但是编译失败,在调用bar.apply 的第二个参数上出现incompatible types: int cannot be converted to scala.Int。
new scala.Int(2)、scala.Int.unbox(2)、scala.Int.box(2) 或创建像 object Helper { def convert(i:Int):Int = i } 这样的 scala 转换器函数也不起作用。
如何创建一个scala.Int,以便在java 中传递给bar()?
【问题讨论】:
-
如果您可以控制 bar 的签名,则可以使用 java.lang.Integer 代替 scala.Int。