当我得到这个时我该怎么办?
java.lang.ClassCastException: org.apache.commons.collections.set.UnmodifiableSet
cannot be cast to scala.collection.immutable.Set
当我得到这个时我该怎么办?
java.lang.ClassCastException: org.apache.commons.collections.set.UnmodifiableSet
cannot be cast to scala.collection.immutable.Set
你不能在它们之间进行转换,但是你应该可以使用 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 可以隐式发生 - 显式通常更好)