93 votes

Scala : Conversion élégante d'une corde en booléen

En Java, vous pouvez écrire Boolean.valueOf(myString). Cependant, dans Scala, java.lang.Boolean est masqué par scala.Boolean qui n'a pas cette fonction. Il est assez facile de passer à l'utilisation de la version originale Java d'un booléen, mais cela ne semble pas juste.

Alors, quelle est la solution canonique en une ligne dans Scala pour extraire true d'une chaîne ?

162voto

David Crawshaw Points 4842

Ah, je suis bête. La réponse est myString.toBoolean.

115voto

user24601 Points 186

Que dites-vous de cela :

import scala.util.Try

Try(myString.toBoolean).getOrElse(false)

Si la chaîne d'entrée ne se convertit pas à une valeur booléenne valide, false est renvoyé au lieu de lancer une exception. Ce comportement ressemble davantage au comportement Java de Boolean.valueOf(myString).

11voto

Jesper Points 65733

Remarque : n'écrivez pas new Boolean(myString) en Java - utilisez toujours Boolean.valueOf(myString). L'utilisation de la variante new crée inutilement un objet Boolean ; l'utilisation de la variante valueOf ne le fait pas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X