Bonjour,
Quelque chose m'échappe dans le processus d'instanciation des enum.
J'ai deux enum différentes, chacune possède des attributs du type de l'autre, et l'une des deux ne se construit pas correctement.
Exemple simplifié :
renvoie :
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 public class Test { private static enum E1 { A(E2.A), B(E2.B); public E2 e2; private E1(E2 e2) { this.e2 = e2; } } private static enum E2 { A(E1.A), B(E1.B); public E1 e1; private E2(E1 e1) { this.e1 = e1; } } public static void main(String[] args) { for (E1 e1 : E1.values()) { System.out.print(e1.e2 + "\n"); } for (E2 e2 : E2.values()) { System.out.print(e2.e1 + "\n"); } } }
A
B
null
null
Pourtant, pas d'erreur à la compilation. Est-ce que ce mécanisme est licite ? Il y a-t-il un moyen de contourner cela ?
Merci pour votre aide.






Répondre avec citation





Partager