Сравнение списков Scala с списками Java

Как сравнить список 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

Обратите внимание, что asScala возвращает только исходный текст List, см. документацию asScalaBufferConverter в JavaConverters..