我对使用2.8 beta的JavaConversions有疑问:
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]
答案 0 :(得分:8)
JavaConversions
不支持scala List
(不可变,递归数据结构)和java List
(可变序列)之间的转换。 scala中的模拟是一个缓冲区:
来自scaladoc
支持以下转换:
scala.collection.mutable.Buffer< => java.util.List的
您可能希望将代码更改为:
def getFeatures() : java.util.List[String]
= new ListBuffer[String] ++ csv.attributes.toList