Question

J'utilise beaucoup de cartes scala, parfois je veux les transmettre en tant que carte à une ancienne API java qui veut un java.util.Map (et je me moque de savoir si cela annule les modifications).

Était-ce utile?

La solution

Une excellente bibliothèque que j'ai trouvée qui fait un meilleur travail de ceci:

http://github.com/jorgeortiz85/scala-javautils

(mauvais nom, bibliothèque géniale). Vous appelez explicitement .asJava ou .asScala en fonction de la direction dans laquelle vous souhaitez aller. Pas de surprises.

Autres conseils

Scala fournit des wrappers pour les collections Java afin qu’ils puissent être utilisés en tant que collections Scala, mais pas l’inverse. Cela étant dit, il ne serait probablement pas difficile d'écrire votre propre wrapper et je suis sûr que cela serait utile pour la communauté. Cette question revient régulièrement.

Cette question et réponse traitent de ce problème précis et les solutions possibles. Il déconseille les conversions transparentes car elles peuvent avoir des effets secondaires très étranges. Il préconise d'utiliser scala-javautils . Je les utilise dans un grand projet depuis quelques mois et je les trouve très fiables et faciles à utiliser.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top