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 :

enumeration en java


Sujet :

Langage Java

  1. #21
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    Citation Envoyé par T`lash Voir le message
    Il y a certainement encore mieux à faire, mais tu peux ajouter une méthode statique à ton énumération afin qu'elle te renvoie un jour à partir d'un index.
    Oui, c'est certainement mieux que d'utiliser une arrayList de constante ^^
    QQun a une autre idée ?

  2. #22
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    En Java 1.4 moi je ferais un truc du genre :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    public final class Week {
     
    	private static final Day[] _week = {Day.MONDAY, Day.TUESDAY, Day.WEDNESDAY, Day.THURSDAY, Day.FRIDAY, Day.SATURDAY, Day.SUNDAY};
     
    	public static Day getDayOfWeek(final int index) {
    		if (index >= 1 && index <= 7) {
    			return _week[index - 1];
    		}
    		throw new IndexOutOfBoundsException("Invalid index [1..7]");
    	}
     
    	public static final class Day {
    		public static final Day MONDAY = new Day(1, "Monday");
    		public static final Day TUESDAY = new Day(2, "Tuesday");
    		public static final Day WEDNESDAY = new Day(3, "Wednesday");
    		public static final Day THURSDAY = new Day(4, "Thursday");
    		public static final Day FRIDAY = new Day(5, "Friday");
    		public static final Day SATURDAY = new Day(6, "Saturday");
    		public static final Day SUNDAY = new Day(7, "Sunday");
     
    		private int _value;
    		private String _name;
     
    		private Day(final int value, final String name) {
    			_value = value;
    			_name = name;
    		}
     
    		/* (non-Javadoc)
    		 * @see java.lang.Object#toString()
    		 */
    		public String toString() {
    			return "[Day] " + _name;
    		}
     
    		/* (non-Javadoc)
    		 * @see java.lang.String#equals(java.lang.Object)
    		 */
    		public boolean equals(Object anObject) {
    			Day d = (Day)anObject;
    			return _value == d._value;
    		}
    	}
     
    	public static void main(String[] agrs) {
    		 System.out.println(Week.getDayOfWeek(2));
    	}
    }

  3. #23
    Membre confirmé Avatar de JoloKossovar
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 532
    Points : 576
    Points
    576
    Par défaut
    ca me semble tout a fait adapté ^^
    mais en java 1.5 ou plus ?

  4. #24
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    En Java 1.5 la classe Day devient une vrai enum comme dans les autres exemples cités avant.

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 50
    Points
    50
    Par défaut
    y a quelque chose qui m' échappe. Comment concevez-vous une énumération de nombres entiers ?

    Est-ce ainsi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public enum { 1, 2, 3, 8}
    Je crois que non. A la compilation, une erreur type
    identifier expected
    Comment faire ?
    C'est à force de programmer qu'on devient un bon programmeur

  6. #26
    Membre confirmé Avatar de T`lash
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2007
    Messages : 381
    Points : 519
    Points
    519
    Par défaut
    Puisque ce sont des valeurs sans nom, je crois qu'en fait un tableau d'entiers suffit....

    public static int[] desEntiers = {1, 2, 3, 8};

  7. #27
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Ou alors, il devrait être possible de faire ceci :

    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 MonEnum {
      Abc(1),
      Bcd(2),
      Cde(3),
      Def(8);
     
      private int value;
     
      private MonEnum(int value) {
        this.value = value;
      }
     
      public int getValue () {
        return this.value;
      }
    }

  8. #28
    Membre confirmé Avatar de T`lash
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Septembre 2007
    Messages : 381
    Points : 519
    Points
    519
    Par défaut
    Oui mais ce que lui voulait dire c'est un ensemble de valeur possible fini (ce qui en français est appelé une "énumération de valeurs", mais ne correspond pas au cas enum).

    Et dans ce cas là les traitements liés à l'énumération sont inutiles et donc à éviter.

  9. #29
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Ok. Faut dire que ce pour que je connais au C... Je suis pas encore arrivé aux enum (et j'y arriverai jamais sans doute ^^)

Discussions similaires

  1. Enumeration Java Warnings
    Par CliffeCSTL dans le forum Général Java
    Réponses: 5
    Dernier message: 08/06/2015, 18h11
  2. Réponses: 6
    Dernier message: 26/07/2012, 11h13
  3. crèer une enumeration en java
    Par wagui26 dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 20/01/2009, 15h10
  4. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24
  5. Service de nommage java C++
    Par Anonymous dans le forum CORBA
    Réponses: 3
    Dernier message: 15/04/2002, 12h48

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