斯卡拉2.8隐式的Java集合转换
问题描述:
我有问题,与2.8测试版JavaConversions:斯卡拉2.8隐式的Java集合转换
import scala.collection.JavaConversions._
class Utils(dbFile : File, sep: String) extends IUtils {
(...)
def getFeatures() : java.util.List[String] = csv.attributes.toList
}
然后例外:
[INFO] Utils.scala:20: error: type mismatch;
[INFO] found : List[String]
[INFO] required: java.util.List[String]
[INFO] def getFeatures() : java.util.List[String] = csv.attributes.toList
[INFO]
答
JavaConversions
不支持之间的斯卡拉List
(不可变的,递归转换数据结构)和一个java List
(一个可变序列)。在阶模拟是一个缓冲区:
下列转换被支持:
scala.collection.mutable.Buffer < =>的java.util.List
您可能希望将您的代码更改为:
def getFeatures() : java.util.List[String]
= new ListBuffer[String] ++ csv.attributes.toList
Deja-vu再次... – 2010-03-13 22:40:51