Contrôle de la présence d'une valeur dans une liste

Le
olivier.forumusenet
Bonjour,

Je souhaiterais contrler un champ par rapport une liste de valeurs
connues.

J'ai dfini des constantes, qui me servent par ailleurs effectuer
d'autres contrles :

public static final int PROPRIETE_1_CONSTANTE_1 = 1;
public static final int PROPRIETE_1_CONSTANTE_2 = 2;
public static final int PROPRIETE_1_CONSTANTE_3 = 3;
etc.

Je voudrais maintenant contrler que pour un champ donn
(Propriete_1), la valeur soit comprise dans la liste des constantes
correspondant.

J'ai envisag de crer un tableau statique contenant les constantes,
mais le risque est important d'ajouter une constante et d'oublier de la
rajouter dans le tableau.

Voyez-vous d'autres solutions?

Merci d'avance
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Raphael Tagliani
Le #221236
Je ne suis pas sûr d'avoir bien compris, mais vous pourriez utiliser une
Hashmap<String, int>, où le String serait PROPRIETE_1 et le int 1, par
exemple.
Sinon, un ArrayList pourrait aussi faire l'affaire (en créant un objet
MaConstante).
Si vos besoins sont moins dynamiques, vous pouvez utiliser enum.

Bonne journée.

Bonjour,

Je souhaiterais contrôler un champ par rapport à une liste de valeurs
connues.

J'ai défini des constantes, qui me servent par ailleurs à effectuer
d'autres contrôles :

public static final int PROPRIETE_1_CONSTANTE_1 = 1;
public static final int PROPRIETE_1_CONSTANTE_2 = 2;
public static final int PROPRIETE_1_CONSTANTE_3 = 3;
etc.

Je voudrais maintenant contrôler que pour un champ donné
(Propriete_1), la valeur soit comprise dans la liste des constantes
correspondant.

J'ai envisagé de créer un tableau statique contenant les constantes,
mais le risque est important d'ajouter une constante et d'oublier de la
rajouter dans le tableau.

Voyez-vous d'autres solutions?

Merci d'avance



Hervé AGNOUX
Le #221235
wrote:


Voyez-vous d'autres solutions?



Si tu utilises java 5, il y a les enum, qui sont fait pour résoudre ce
problème.

Sinon, c'est un peu plus compliqué... Lorsque je voulais vraiment avoir ce
résultat avant, j'exploitais la reflexion. Ainsi tu peux obtenir la liste
des attributs final static dont le nom commence par "PROPRIETE_1" ; cette
liste étant obtenue automatiquement, tu n'as plus le souci de penser à la
rajouter dans un tableau en cas que. Tu place cet algo dans une méthode
static, et voilà.


--
Hervé AGNOUX
http://www.diaam-informatique.com

olivier.forumusenet
Le #221233
Merci pour vos réponses, j'avais oublié de mentionner que je
travaillais en JDK 1.4 et que par conséquence, l'utilisation des types
énumérés m'était interdite.



Je ne suis pas sûr d'avoir bien compris, mais vous pourriez utiliser une
Hashmap<String, int>, où le String serait PROPRIETE_1 et le int 1, par
exemple.
Sinon, un ArrayList pourrait aussi faire l'affaire (en créant un objet
MaConstante).
Si vos besoins sont moins dynamiques, vous pouvez utiliser enum.

Bonne journée.

Bonjour,

Je souhaiterais contrôler un champ par rapport à une liste de valeu rs
connues.

J'ai défini des constantes, qui me servent par ailleurs à effectuer
d'autres contrôles :

public static final int PROPRIETE_1_CONSTANTE_1 = 1;
public static final int PROPRIETE_1_CONSTANTE_2 = 2;
public static final int PROPRIETE_1_CONSTANTE_3 = 3;
etc.

Je voudrais maintenant contrôler que pour un champ donné
(Propriete_1), la valeur soit comprise dans la liste des constantes
correspondant.

J'ai envisagé de créer un tableau statique contenant les constantes,
mais le risque est important d'ajouter une constante et d'oublier de la
rajouter dans le tableau.

Voyez-vous d'autres solutions?

Merci d'avance





TestMan
Le #221218
Merci pour vos réponses, j'avais oublié de mentionner que je
travaillais en JDK 1.4 et que par conséquence, l'utilisation des types
énumérés m'était interdite.



Bonjour,

Par contre rien ne vous empèche d'utiliser un patron d'énumération pour
votre classe ;-)

A+
TM

Poster une réponse
Anonyme