IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Déclaration enum avec caractères spéciaux


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 45
    Points : 19
    Points
    19
    Par défaut Déclaration enum avec caractères spéciaux
    Bonjour,

    Voilà je veux déclarer dans une classe enum des noms avec caractères spéciaux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public enum PositionEnum {
        BU, SB, BB, UTG, UTG+1, CO;
    }
    Le problème est que le compilateur refuse comme nom de UTG+1.
    Comment faire pour contourner le problème et continuer à nommer une position UTG+1 ?

  2. #2
    Membre actif

    Inscrit en
    Octobre 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 133
    Points : 295
    Points
    295
    Par défaut
    A vue de nez, je dirais que tu ne peux pas car il s'agit de nom d'attributs et doivent donc suivre les mêmes règles que ceux-ci (pas de caractères spéciaux).
    (Mais j'utilise rarement des Enum, je ne suis donc pas sur de ce que j'avance)

    Par contre, tu peux rajouter une description dans ton énumération pour récupérer justement la valeur que tu souhaites, du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        public enum PositionEnum {
            BU ("BU"), SB ("SB"), BB ("BB"), UTG("UTG"), UTGP1("UTG+1"), CO("CO");
            String description;
            PositionEnum(String description) {
                this.description = description;
            }
        }
    Tu n'appelleras donc pas ta valeur d'énumération mais le champ description de celle-ci.

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    En général, les chaines de caractères sont à mettre entre quotes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public enum PositionEnum {
        "BU", "SB", "BB", "UTG", "UTG+1", "CO";
    }

  4. #4
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    Désolé, je retire ce que j'ai dit.
    Par contre, un champ d'enum, c'est comme une variable ou un attribut de classe : on ne peut pas mettre de caractere interprété par le compilateur (+, -, ... ?, ! ...)

  5. #5
    Membre éclairé Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Points : 676
    Points
    676
    Par défaut
    Citation Envoyé par jcdentons Voir le message
    c'est comme une variable ou un attribut de classe : on ne peut pas mettre de caractere interprété par le compilateur (+, -, ... ?, ! ...)
    pas "c'est comme" mais "c'est"
    la compilation d'un enum donne une class posédant des atributs "public static final" avec pour nom le nom de la constante.
    sa doit donc respecter les regle de nomage d'un attribut.

    la solution de henolivier est pas mal

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] Erreur parser fichier xml avec caractère spéciaux
    Par turcotm dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 19/06/2006, 09h01
  2. [MySQL] Problèmes avec caractères spéciaux
    Par brokengillou dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/04/2006, 17h02
  3. recupérer GET avec caractères spéciaux
    Par masseur dans le forum Langage
    Réponses: 11
    Dernier message: 03/01/2006, 11h37
  4. [RegEx] chaîne de caractères avec caractères spéciaux
    Par Kerod dans le forum Langage
    Réponses: 9
    Dernier message: 25/12/2005, 01h40
  5. Réponses: 3
    Dernier message: 11/10/2004, 17h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo