我有一个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列表转换为Scala列表。在上述情况下该怎么做?
JavaConverters
从 Scala 2.8开始, 此转换现在已使用以下语言构建:
import scala.collection.JavaConversions._ ... lst.toList.foreach{ node => .... }
作品。asScala不工作
asScala
在2.12.x中使用 import scala.collection.JavaConverters._
import scala.collection.JavaConverters._
在2.13.x中使用 import scala.jdk.CollectionConverters._
import scala.jdk.CollectionConverters._