Aujourd'hui, je me suis retrouvé codage quelque chose comme ça ...
public class LocalEnums {
public LocalEnums() {
}
public void foo() {
enum LocalEnum {
A,B,C
};
// ....
// class LocalClass { }
}
}
et j'ai été un peu surpris lorsque le compilateur a signalé une erreur sur le local enum
:
Le membre enum LocalEnum ne peut pas être local
Pourquoi ne peut - enums être déclaré locales comme les classes?
J'ai trouvé cela très utile dans certaines situations. Dans le cas où je travaillais, le reste du code n'a pas besoin de savoir quelque chose au sujet de l' enum
.
Est-il structurel/design conflit qui explique pourquoi ce n'est pas possible ou est-ce une future fonctionnalité de Java?