Je peux voir qu'il existe des moyens de convertir d'une liste Java en une SCALA SEQ (en utilisant la méthode Y a-t-il une manière similaire pour cette conversion aussi? P> asscala code>) mais je n'ai pas pu trouver de convertisseurs pour
java.util.vector code>. p>
3 Réponses :
importer javaconversions code>:
Javaconversions Code> 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 ... ;-)
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
Notez que commencer scala 2.13 code>, le package
scala.jdk.collectionconverters code>
fournit asscala code>
via un proxénération de java.util.list remplace et remplace les packages
scala.collection.javaconverters / javaconversions code>: