0

当我得到这个时我该怎么办?

java.lang.ClassCastException: org.apache.commons.collections.set.UnmodifiableSet 
    cannot be cast to scala.collection.immutable.Set
4

1 回答 1

1

你不能在它们之间进行转换,但是你应该可以使用 scala.collection.JavaConverters 来转换 java.util.Set (UnmodifiableSet 实现了这个) => mutable.Set,然后调用 .toSet 来转换成一个不可变的。设置,例如:

import org.apache.commons.collections.set.UnmodifiableSet
import scala.collection.JavaConverters._
val u = new UnmodifiableSet()
val s = u.asScala.toSet
println(s)

见: http ://www.scala-lang.org/api/current/index.html#scala.collection.JavaConverters

(或者使用 JavaConversions 和 asScala 可以隐式发生 - 显式通常更好)

于 2013-11-15T10:05:11.260 回答