3

J'ai un problème JavaConversions avec 2.8 beta:scala 2.8 implict collections java conversions

import scala.collection.JavaConversions._ 
class Utils(dbFile : File, sep: String) extends IUtils { 
    (...) 
    def getFeatures() : java.util.List[String] = csv.attributes.toList 
} 

Et puis exception:

[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]   

Répondre

8

JavaConversions ne supporte pas la conversion entre un scala List (immuable, récursif structure de données) et un java List (une séquence mutable). L'analogue à Scala est un tampon:

De l'scaladoc

Les conversions suivantes sont supportées:
scala.collection.mutable.Buffer < => java.util.List

Vous voudrez peut-être changer votre code pour:

def getFeatures() : java.util.List[String] 
    = new ListBuffer[String] ++ csv.attributes.toList 
+3

Deja-vu encore une fois ... –

Questions connexes