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

2022-09-03 10:14:27

如何将 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列表来比较?或者,在这两种列表上是否存在一种“懒惰包装器”,然后我可以直接通过它们进行比较?==


答案 1

...或使用 .sameElements

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

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

答案 2

您可以使用:JavaConverters

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

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

请注意,唯一返回原始视图,请参阅 JavaConverters 文档中的文档。asScalaListasScalaBufferConverter