我有一个调用 Scala 方法的 Java 代码。
Java端代码:
List<String> contexts = Arrays.asList(initialContext);
ContextMessage c = ContextMessage.load(contexts);
Scala 侧代码:
def load(contexts: List[String]) = ...
contexts foreach context =>
在这种情况下,我有 scala.collection.immutable.List<String> cannot be applied ...
错误信息。
我还需要使上下文的类型尽可能通用(即 Seq),因为加载方法会迭代给定的集合对象来处理某些内容。
def load(contexts: Seq[String]) = ...
如何解决这两个问题?
最佳答案
我只会使用 JavaConversions
并保留我的 Scala 代码 scalatic。
// Scala code
object ContextMessage {
def load(contexts: Seq[String]) = ???
}
// in your Java code
ContextMessage c = ContextMessage.load(JavaConversions.asScalaBuffer(Arrays.asList(initialContext));
关于java - 使用 Scala 的集合类型从 Java 调用 Scala 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32107259/