8
votes

Convertir de Java.Util.Vector en SCALA SEQ

Je peux voir qu'il existe des moyens de convertir d'une liste Java en une SCALA SEQ (en utilisant la méthode asscala ) mais je n'ai pas pu trouver de convertisseurs pour java.util.vector .

Y a-t-il une manière similaire pour cette conversion aussi?


0 commentaires

3 Réponses :


3
votes

importer javaconversions : xxx


5 commentaires

Javaconversions est si affreux que le genre de chose qu'il ne soit pas derrière des avertissements sur Scala 2.10.0. Utilisez-le si c'est à vos goûts, mais s'il vous plaît, ne le recommandez pas.


@Daniel, je n'ai pas réalisé qu'il y avait de meilleures alternatives. Toujours bon d'apprendre de nouvelles choses. Merci!


@Daniel, "Programmation à Scala" ne discute que des javaconversions et des documents de 2,10 nuits disent encore "L'objet Javaconversion fournit des défenseurs implicites qui permettront une intégration principalement transparente entre les API de collections Java et la bibliothèque de collections Scala." De plus, il existe un certain nombre de classes / traits qui semblent être liés: Javaconversions, Javaconverters, DecorateasJava, DecorateeasSscala, Wrapasjava, Wrapasscala. Y a-t-il un «howto» n'importe où qui décrit quelle est la meilleure pratique actuelle?


@Alanburlison Je n'ai jamais regardé autour d'un. Je verrai si je peux obtenir l'Scaladoc pour avertir d'utiliser des javaconversions.


Il y a aussi Wravajava et Decorateasjava, qui fait quatre forfaits différents qui semblent faire le même genre de choses. C'est juste un peu déroutant ... ;-)



14
votes

javaconverters code> est un peu plus idiomatique que javaconversions code>.

import collection.JavaConverters._

val v = new java.util.Vector[Int]
val s: Seq[Int] = v.asScala


0 commentaires

0
votes

Notez que commencer scala 2.13 , le package scala.jdk.collectionconverters fournit asscala via un proxénération de java.util.list scala.collection.javaconverters / javaconversions : xxx


0 commentaires