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 :

[Java 5] Enum et String


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 162
    Par défaut [Java 5] Enum et String
    Bonjour,

    Je ne comprends pas pourquoi mon enum n'est pas bon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public enum TerminalType {
    	UN("un"),
    	DEUX("deux"),
    	TROIS("trois"),
     
    	private final String value;
     
    	TerminalType(String value) {
    		this.value = value;
    	}
     
    	public String getValue() {
    		return this.value;
    	}
     
    }
    Le "private final String value" pose un problème et plus particulièrement "String" qui dit :

    Syntax error on token "String", strictfp expected
    Une idée ?

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    Commences par Virer le private du constructeur qui n'est pas autorisé dans un enum.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 162
    Par défaut
    Voilà qui est fait, je modifie mon exemple juste au-dessus, c'est toujours pareil.

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Pardon, j'ai modifié mon message pendant que tu répondais
    [edit] Excuse: dure journée de travail Je commences à imaginer des trucs.
    L'erreur vient du virgule après le TROSI. Remplaces le par un ;.

    Bonne chance.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 162
    Par défaut
    C'est fait et toujours pareil.

    [edit] Oui dure journée, merci j'avais pas vu !

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par djo.mos Voir le message
    Commences par Virer le private du constructeur qui n'est pas autorisé dans un enum.
    Au contraire, les constructeurs d'une enum sont obligatoirement private (même si aucune visibilité n'est explicitement indiqué)


    Sinon puisque les libellés sont identiques au nom de l'enum tu pourrait utiliser directement la méthode name() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public enum TerminalType {
    	UN, DEUX, TROIS;
     
    	public String getValue() {
    		return this.name().toLowerCase();
    	}
    }
    a++

  7. #7
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,
    Au contraire, les constructeurs d'une enum sont obligatoirement private (même si aucune visibilité n'est explicitement indiqué)
    Oui, tout à fait, mais je parlais du mot-clé private
    @+

  8. #8
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par djo.mos Voir le message
    Oui, tout à fait, mais je parlais du mot-clé private
    @+
    Ben justement en théorie tu DEVRAIS mettre le private
    C'est public et protected qui ne sont pas autorisé

    a++

  9. #9
    Membre confirmé
    Inscrit en
    Mars 2004
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 162
    Par défaut
    Pas mal l'astuce, merci beaucoup.

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

Discussions similaires

  1. enum et string
    Par camboui dans le forum C++
    Réponses: 7
    Dernier message: 04/05/2009, 15h20
  2. Enum java et Enum C#
    Par zerobug dans le forum C#
    Réponses: 1
    Dernier message: 14/04/2008, 14h26
  3. Réponses: 2
    Dernier message: 08/12/2007, 19h51
  4. un enum de string
    Par dalio2579 dans le forum C#
    Réponses: 6
    Dernier message: 15/05/2007, 12h15
  5. Réponses: 9
    Dernier message: 10/05/2007, 17h57

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