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)); } }
ca me semble tout a fait adapté ^^
mais en java 1.5 ou plus ?
En Java 1.5 la classe Day devient une vrai enum comme dans les autres exemples cités avant.
y a quelque chose qui m' échappe. Comment concevez-vous une énumération de nombres entiers ?
Est-ce ainsi ?
Je crois que non. A la compilation, une erreur type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 public enum { 1, 2, 3, 8}Comment faire ?identifier expected
C'est à force de programmer qu'on devient un bon programmeur
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};
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; } }
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.
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 ^^)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager