[Java] Enum

Voir le sujet précédent Voir le sujet suivant Aller en bas

[Java] Enum

Message  Dj x-fuse le Dim 29 Nov 2009, 21:56

Bonsoir,

J'ai à ma disposition une classe enum :
Code:
public enum MonEnum{A,B,C,B}
Et je voudrais en connaitre sa taille (donc la taille de l'énumération).
Du côté de l'api java, aucune fonction me permet de récupérer la taille de l'enum...

Quelqu'un a-t-il une idée ?

Dj x-fuse

Nombre de messages : 658
Age : 27
Prénom : Jonathan
Statut : 4ième sécu
Localisation : IRL
Date d'inscription : 18/10/2008

Revenir en haut Aller en bas

Re: [Java] Enum

Message  Anthoblack le Dim 29 Nov 2009, 22:33

C'est quoi "la taille" ? Le nombre d'octets ? Le nombre d'éléments ?
Une enum est un objet très... primaire. J'ai jamais entendu parler de "taille"...

Anthoblack

Nombre de messages : 764
Age : 28
Prénom : Anthony
Statut : Ex-étudiant
Localisation : Bruxelles
Date d'inscription : 11/03/2008

Revenir en haut Aller en bas

Re: [Java] Enum

Message  pbt le Dim 29 Nov 2009, 22:41

J'imagine que par "taille" il entend le "nombre d'éléments de l'énumération .. que l'on peut obtenir par MonEnum.values().size(); par exemple.

_________________
smartq.namok.be · faq ·  · IRC / irc.freenode.net #esi · blog.namok.be
style #pbt {heigth:189cm; weight:79kg; eye-color:#524000; hair:very short; dead pixels: some; }

pbt
Admin

Nombre de messages : 4862
Age : 45
Prénom : Pierre
Statut : prof
Localisation : La cité des géants
Date d'inscription : 24/11/2005

http://esi.namok.be

Revenir en haut Aller en bas

Re: [Java] Enum

Message  Dj x-fuse le Dim 29 Nov 2009, 23:03

pbt a écrit:J'imagine que par "taille" il entend le "nombre d'éléments de l'énumération .. que l'on peut obtenir par MonEnum.values().size(); par exemple.

Effectivement, par taille, je parlais du nombre d'éléments.

MonEnum.values() me renvois le hashcode de mon énumération, tout va bien.
Mais ce n'est pas la méthode size() qu'il faut utiliser, mais simplement .length Smile

Donc d'un côté j'ai :
Code:
public enum MonEnum{A,B,C,B}
Et de l'autre j'ai :
Code:
System.out.println(MonEnum.values().length);
qui écrit bien 4 dans la console, je suis heureux Smile

Merci !

Dj x-fuse

Nombre de messages : 658
Age : 27
Prénom : Jonathan
Statut : 4ième sécu
Localisation : IRL
Date d'inscription : 18/10/2008

Revenir en haut Aller en bas

Re: [Java] Enum

Message  nvs le Dim 29 Nov 2009, 23:23

Dj x-fuse a écrit:MonEnum.values() me renvois le hashcode de mon énumération, tout va bien.
c'est peut-être cool d'utiliser des termes anglais dont la signification échappe à la majorité, mais, selon le livre, la méthode values retourne un tableau (array) :
Sun a écrit:
Code:
/**
* Returns an array containing the constants of this enum
* type, in the order they're declared.  This method may be
* used to iterate over the constants as follows:
*
*    for(E c : E.values())
*        System.out.println(c);
*
* @return an array containing the constants of this enum
* type, in the order they're declared
*/
public static E[] values();
je sais, ça la pète moins, mais bon, la vie est dure Wink

sinon, au passage, la méthode hashCode retourne un int.












_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [Java] Enum

Message  Contenu sponsorisé Aujourd'hui à 08:46


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum