2010-08-10 5 views
3

Problème: besoin d'implémenter l'interface de 3ème partie bibliothèque Java à ScalaScala de Convertion typé collection Java avec un caractère générique sans bornes, etc. Collection <?>

...

Collection<?> getItemPropertyIds()

. ..

Ma solution est d'utiliser ...<here goes Iterable>.asInstanceOf[java.util.Collection[_]]

val props:Map[Object,Property] = ... 
override def getItemPropertyIds()=props.keys.asInstanceOf[java.util.Collection[_]] 

Existe-t-il une meilleure solution? Peut-être avec les implicits de Predef?

Répondre

1

Créer un certain scala.Iterable, utilisez scala.collection.asJavaCollection() (peut être implicitement) pour convertir en java.util.Collection.

1

J'essaie aussi ceci:

import scala.collection.JavaConversions 
... 
override def getItemPropertyIds() = JavaConversions.asCollection(props.keys) 
+0

Ainsi, cette solution ne fonctionne comme vous le souhaitez (et êtes-vous satisfait de lui), ou non? –

+0

Cette solution fonctionne. Je vais rester avec ça. – sgp

Questions connexes