Convertir String en boolean

Signaler
Messages postés
132
Date d'inscription
mercredi 14 mai 2003
Statut
Membre
Dernière intervention
16 mai 2005
-
Messages postés
405
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
15 juillet 2014
-
Je me demandais si quelqu'un s'aurait convertir une String en boolean un peu comme la méthode parseInt de la classe Integer. Dans mon cas c'est pour lire dans un fichier texte différentes valeurs true et false. J'ai chercher partout dans mes livres de programmation mais j'ai rien trouvé.

Peter
?
A voir également:

10 réponses

Messages postés
47
Date d'inscription
jeudi 6 février 2003
Statut
Membre
Dernière intervention
22 mars 2006
2
Kan t auras fini de dire des conneries, toi, tu previendras.
Deja, il y a une petite erreur dans ton code :

boolean convert(String s) {
   if(s.equals("true")) return true;
   else return false;
}


En effet, le == sur une String ne fonctionne pas a 100%, ensuite, si on veut pas faire du code de la foret noire, on peut aussi programmer proprement, cad :


boolean b = Boolean.valueOf(yourString).booleanValue() ;



Allez, sans rancune mon petit lapin.
Messages postés
890
Date d'inscription
lundi 8 avril 2002
Statut
Membre
Dernière intervention
29 juillet 2004
12
salut,
boolean test = Boolean.valueOf("true").booleanValue();
Duss
Messages postés
37
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
4 octobre 2006
2
Si j'ai bien compris tu as un fichier texte avec dedans par exemple :

true
false
false
true
etc.

Et bien si c'est ça tu n'as qu'à créer la méthode qui les convertira. A chaque fois que tu lira une ligne, tu appelleras cette méthode ! Elle sera du genre :

boolean convert(String s) {
  if(s=="true") return true;
  else return false;
}


BlackWood
Messages postés
15
Date d'inscription
jeudi 11 décembre 2003
Statut
Membre
Dernière intervention
12 mai 2010
1
boolean convert(String s) {
if(s= ="true") return true;
else return false;
}
est faux, archi faux!!!

boolean convert(String s) {
if(s.equals("true")) return true;
else return false;
}
est faux aussi, pensez au null pointer ex!!!

boolean convert(String s) {

if("true".equals(s)) return true;

else return false;

}
est bon mais crade

boolean b = Boolean.valueOf(yourString).booleanValue() ; est la bonne syntaxe !!!

et non BlackWood,
on ne code pas comme on veut d'abord... ce sont les compilo qui décident.

dudule
Messages postés
26
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
11 mai 2011
2
boolean convert(String s) {
if("true".equals(s)) return true;
else return false;
}

Est peut-être crade mais elle est la SEULE solution à du J2ME, arrêter de penser à juste les nouvelles fonctionnalités...

Made by histo : When God is not enough Good
Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
23
Salut,

Je me permets de préciser que :

[b]if (test) {
return true;
} else {
return false;
}/b

est lourd comparé à :

return test;
Messages postés
26
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
11 mai 2011
2
Elle peux sembler lourd mais pour de la visibilité du code on peut "dénormaliser" le chaînage afin que la méthode soit clair.

au final en j2me mon code donne ceci :

public static boolean toBool(String p_valeur) {
return ("true".equalsIgnoreCase(s) || "1".equals(s));
}

Et oui, moi je suis fan de chaînage !!!

Sur ce merci pour ce (vieux) post ça ma donner des idées pour régler mon soucis.

Made by histo : When God is not enough Good
Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
23
@madebyhisto
Je n'ai rien compris à ta première phrase (même en tenant compte des fautes d'orthographe).
Messages postés
405
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
15 juillet 2014
19
@madebyhisto

boolean convert(String s) {
if("true".equals(s)) return true;
else return false;
}

en J2ME on économise les ressources (vrai aussi sur les autres plateformes)...
pourquoi instancier "true" à chaque appel ?

la définition de constante
private static final String TRUE= "true";
boolean convert(String s) {
return TRUE.equals(s);
}

@mrshardax
le == ne marche à pas 100% c'est exact car c'est 0%

la JVM 1.5 et + rattrape parfois (l'énorme) boulette en vérifiant l’existence d'un variable similaire

MonBean
avec equals(Object) et hashCode() surchargé pour l'attribut id

teste l'instance
MonBean b1 = new MonBean();
b1.setId(1);
MonBean b2 = new MonBean();
b2.setId(1);

b1==b2 renvoie faux
alors que
b1.equals(b2) renvoie vrai
Messages postés
37
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
4 octobre 2006
2
On code comme on veut d'abord...

BlackWood