我有一个 Java API,它返回如下列表:
public List<?> getByXPath(String xpathExpr)
我正在使用以下 scala 代码:
val lst = node.getByXPath(xpath)
现在,如果我尝试像这样的 scala 语法糖:
lst.foreach{ node => ... }
它不起作用。我得到了错误:
value foreach is not a member of java.util.List[?0]
看来我需要将 Java List 转换为 Scala List。如何在上述情况下做到这一点?
最佳答案
编辑:请注意,自 2.12.0 以来已弃用。请改用 JavaConverters
。 (@Yaroslav 评论)
从 Scala 2.8 开始,这种转换现在被内置到语言中,使用:
import scala.collection.JavaConversions._
...
lst.toList.foreach{ node => .... }
有效。 asScala
不起作用
在 2.12.x 中使用 import scala.collection.JavaConverters._
在 2.13.x 中使用 import scala.jdk.CollectionConverters._
关于java - 如何从 Java 列表中获取 Scala 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6356465/