Bonjour,
Je veux faire un switch sur des strings mais cela n'est pas possible. Est - il possible d'affcter à mes string des valeur (une sorte d'énumération) et ainsi de faire des switch? si oui quelqu'un aurait-il un exemple?
Merci
Bonjour,
Je veux faire un switch sur des strings mais cela n'est pas possible. Est - il possible d'affcter à mes string des valeur (une sorte d'énumération) et ainsi de faire des switch? si oui quelqu'un aurait-il un exemple?
Merci
Hum tu peux les hascher...
Non sérieusement, si tu utilises des String du genre "145", "147", "144"... tu peux les parser, par exemple.
Sinon, je pense que le "if" est la meilleure (seule?) solution.
Glob
What would you do if you were not afraid?
Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
ce sont des strings
j'ai un état il peut être "DORT" "MANGE"...
il n'existe pas des enumération en java
Il te faut faire une classe et mettre des public static final... c'est ça l'énumération en Java... Ou alors bosser avec des intEnvoyé par schousso
usw...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int DORT = 0; int MANGE = 1;
Glob
What would you do if you were not afraid?
Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
petit probleme
et dans chien j'aurai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 DORT = "chien qui dort" MANGE = "chien qui mange"
et apres je voudrais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 etat = DORT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 switch(etat) DORT :... MANGE :
Réponse directe à la question : ce n'est pas possible.
Réponse indirecte : pourquoi veux-tu absolument un switch ?
Salut,
Une solution :
Et là tu peux utiliser DORT et MANGE dans un switch...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class Chien { public static final int DORT = 0; public static final int MANGE = 1; public static String[] strings = { "chien qui dort", "chien qui mange" }; public static String getString (int etat) { return strings[etat]; } }
Sinon pour les enumération tu peux jeter un coups d'oeil à la faq de developpez.com pour faire quelque chose qui s'en approche...
Ou alors si tu peux passer à la version 1.5 de Java qui permet de créer des enumérations. Mais le 1.5 est toujours en beta et pour utiliser ton programme une MV 1.5 est obligatoire...
a++
Juste à titre informatif, faire des switch/case sur des String sera désormais possible avec Java 7!
La JDK7 sera disponible en grande partie dès le 28 juillet prochain, d'ici là, les solutions proposées ici à l'aide d'enums font très bien l'affaire!
Si dans la mesure où le changement d'état va affecter le comportement de ton objet chien, je pense qu'il te faudrait t'intéresser au 'state pattern'.
Il est agréable d'avoir le choix. La difficulté est alors de faire le bon (ou le moins pire).
@Fifan31 : le post remonte à 2004, je pense que la personne est passé à autre chose
@dominicbri7 : Merci de l'info
Il était une fois [...] Et ils vécurent heureux et eurent beaucoup d'enfants!
cela est possible à partie de la Jre 1.7. rien d'autre a faire juste:
switch(chaine){
case "toto": ........
case "tata":.........
}
@pasquierase
Le post remonte à 11 ans ! Comme @Ivelios, je pense que @schousso a du se débrouiller depuis ...
Merci de ne pas déterrer d'anciens posts.
Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)
Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager