java-moi: convertit une Chaîne de type boolean
Je suis en développement pour BlackBerry et je suis bloqué avec ce problème stupide:
J'ai besoin de convertir la chaîne de valeurs "1" et "0" pour le vrai et le faux, respectivement. Néanmoins, Blackberry JDK est basé en Java 1.3, donc je ne peux pas utiliser un Booléen.parseBoolean, Booléenne.valueOf ou une valeur Booléenne.getValue.
Évidemment, je peux faire quelque chose comme:
if (str.equals("1")) return true;
else if (str.equals("0")) return false;
Mais c'est très moche et peut-être que ces valeurs de chaîne pourrait changer à "true" et "false" plus tard. Alors, Est-il un autre moyen pour convertir entre ces types de caractères (String -> boolean, Java 1.3)?
Mis à JOUR: toutes les réponses de cette question a été très gentiment mais il fallait que je marque, j'ai donc choisi d'Ishtar de réponse.
Même ainsi, ma correction a été une combinaison de réponses multiples.
OriginalL'auteur Jose S | 2011-03-25
Vous devez vous connecter pour publier un commentaire.
Si vous modifiez ultérieurement à "true/false", vous n'aurez pas accidentellement ordre De 28 000 tonnes de charbon. Appel avec le mauvais paramètre va lever une exception, au lieu de deviner et de retour faux. À mon avis
"pancake"
n'est pasfalse
.OriginalL'auteur Ishtar
Si vous n'avez pas
Boolean.valueOf(String s)
... ouais, c'est assez bien. J'avais définir votre propre méthode statique comme:Qui permettrait de résoudre votre "Peut changer à true ou à false plus tard" problème que vous pourriez ajouter/modifier que dans la méthode et ne pas avoir à changer quoi que ce soit d'autre dans votre code.
OriginalL'auteur Brian Roach
Ne pas coder en dur votre paramètre.
Afin de définir votre propre méthode de ce genre.
vous êtes de droite. mais l'OP cas est différent. voir -->
string values could change
Alors j'avais changement dans la méthode 😉
de nouveau, vous avez raison. donc la réponse est de l'encapsuler dans la méthode.
Et si il est avéré que vous avez voulu à la fois 😉
OriginalL'auteur Prince John Wesley
De Java
Boolean
objet (si je me souviens bien) a déjà 2 constantes:Boolean.TRUE
Boolean.FALSE
vous pouvez utiliser
Boolean.booleanValue()
à retourner correspondantboolean
valeur.Vous pouvez créer votre propre
valueOf(String s)
méthode pour renvoyer uneboolean
et/ouBoolean
comme suit:OriginalL'auteur Buhake Sindi
vous devez vérifier la valeur null et les espaces la station. les retirer et vérifier la valeur.
OriginalL'auteur y0rk
Améliorer Ishfar réponse.
OriginalL'auteur AechoLiu