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 :

boucler sur des enum


Sujet :

Langage Java

  1. #1
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut boucler sur des enum
    Bonjour, je voudrais boucler sur mon type enum Resource.
    J'ai donc ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for (Resource type : Resource.values()){
      if (resources[type.ordinal())] > 0) r.add(type.getLabel());
    le problème c'est que je dois parcourir sur tous les enum, sauf les deux derniers.
    Est-ce qu'il y a un moyen qui m'éviterait d'ajouter un "if break" dans mon for ?

    Et tant que j'y suis, je me demandais s'il y a un moyen de faire l'inverse de :
    type.ordinal()
    c'est à dire à partir d'un entier obtenir l'enum correspondant, ce qui me permettrait d'utiliser un for classique sur des entiers, en m'arrêtant où je veux.

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 851
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 851
    Points : 22 863
    Points
    22 863
    Billets dans le blog
    51
    Par défaut
    Il suffit d'avoir un indice de controle en plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    int i = 0;
    Resource[] resources = Resource.values();
    int valuesNumber = resources.length;
    for (Resource type : resources ) {
      if (i == valuesNumber-2) {
        break;
      }
      r.add(type.getLabel());
    }
    Ou de faire un controle sur ordinal()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Resource[] resources = Resource.values();
    int valuesNumber = resources.length;
    for (Resource type : resources ) {
      if (type.ordinal() == valuesNumber-2) {
        break;
      }
      r.add(type.getLabel());
    }
    Quant a la seconde question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Resource[] resources = Resource.values();
    int valuesNumber = resources.length;
    for (int i = 0 ; i < valuesNumber-2  ; i++) {
      Resource type = resources[i];
      r.add(type.getLabel());
    }

  3. #3
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut
    Merci c'est parfait.

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

Discussions similaires

  1. [DOM] Boucler sur des <li>
    Par Tchupacabra dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/12/2007, 17h33
  2. [XSLT] boucler sur des attributs
    Par damyrid dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 30/03/2006, 10h43
  3. Boucler sur des champs texte
    Par syl2095 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/11/2004, 16h15
  4. boucler sur des checkboxes
    Par El Saigneur dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 09/10/2004, 08h27
  5. [VB6] Comment boucler sur des controls d'un form ?
    Par lankviller dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/01/2003, 16h29

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