如何将Java列表与Scala';什么是foreach?

如何将Java列表与Scala';什么是foreach?,java,scala,scala-java-interop,Java,Scala,Scala Java Interop,我尝试使用asInstanceOf将java列表转换为Scala列表,但没有成功,因为我从android调用返回的列表是java列表 val apList = (wfm.getScanResults:java.util.List[ScanResult]) 我希望这样做,这样我就可以使用(新的Scala)列表进行理解,因为它似乎不喜欢在这个构造中使用java列表,这给了我一个错误 value foreach is not a member of java.util.List[android.ne

我尝试使用asInstanceOf将java列表转换为Scala列表,但没有成功,因为我从android调用返回的列表是java列表

val apList = (wfm.getScanResults:java.util.List[ScanResult])
我希望这样做,这样我就可以使用(新的Scala)列表进行理解,因为它似乎不喜欢在这个构造中使用java列表,这给了我一个错误

value foreach is not a member of java.util.List[android.net.wifi.ScanResult]
    for (ap<-apList) { .... }
         ^
value-foreach不是java.util.List[android.net.wifi.ScanResult]的成员

对于(ap在和包下有一组转换。第一个转换隐式地作用于集合,最后一个转换打算显式地使用(使用
.asScala
方法将java集合转换为scala模拟,使用
.asJava
方法将其转换为scala模拟)

导入scala.collection.JavaConversions_
scala>val xs=new java.util.ArrayList[Int]()
//xs:java.util.ArrayList[Int]=[]
xs.add(1)
xs.add(2)
//java.util.ArrayList[Int]=[1,2]

scala>for(x)是一个很好的问题。我想知道为什么我的for理解不起作用(即使列表使用泛型,也无法用正确的类型提取单个条目)。太好了,谢谢。这个答案已经过时了。我使用
导入scala.jdk.CollectionConverters.\u
for(x)
import scala.collection.JavaConversions._

scala> val xs = new java.util.ArrayList[Int]()
// xs: java.util.ArrayList[Int] = []
xs.add(1)
xs.add(2)
// java.util.ArrayList[Int] = [1, 2]

scala> for(x <- xs) println(x)
1
2