将Scala列表与Java列表进行比较

时间:2012-04-12 06:41:16

标签: java list scala comparison equality

如何将Scala列表与Java列表进行比较?

scala> List(1, 2, 3, 4, 5)
res0: List[Int] = List(1, 2, 3, 4, 5)

scala> java.util.Arrays.asList(1, 2, 3, 4, 5)
res1: java.util.List[Int] = [1, 2, 3, 4, 5]

scala> res0 == res1
res2: Boolean = false

是否有一些用于比较的静态辅助方法接受Scala列表和Java列表?或者在两种列表中都有一种“懒惰的包装”,我可以通过==直接比较它?

2 个答案:

答案 0 :(得分:17)

...或使用sameElements

scala> import collection.JavaConversions._
import collection.JavaConversions._

scala> res0.sameElements(res1)            
res3: Boolean = true

答案 1 :(得分:12)

您可以使用JavaConverters

scala> import collection.JavaConverters._
import collection.JavaConverters._

scala> res0 == res1.asScala
res2: Boolean = true

请注意,asScala仅返回原始List上的视图,请参阅JavaConverters文档中的asScalaBufferConverter文档。