24 votes

Java : les enums anonymes ?

Java offre-t-il la possibilité d'utiliser des enums anonymes ?

Par exemple, je veux que ma classe ait une variable dont la valeur peut être l'un des 5 paramètres différents. Il est donc évident que cette variable doit être un enum. Mais c'est le SEUL endroit où cet enum particulier sera utilisé. Normalement, je devrais déclarer un type d'enum juste au-dessus de la variable et déclarer ensuite que la variable est de ce type, mais je me demandais s'il n'y avait pas une façon plus propre. Java supporte-t-il les enums anonymes ?

Exemple :

public class Test {
    public enum Option {
        FirstOption,
        SecondOption,
        ThirdOption
    }
    Option option;
}

Existe-t-il un moyen d'éviter de déclarer public enum Option et permettre simplement à la variable option d'être définie comme PremièreOption, DeuxièmeOption ou TroisièmeOption sans notion de type "Option" ?

27voto

cletus Points 276888

Non Java ne prend pas en charge l'anonymat enum s.

Il suffit de les déclarer à l'intérieur de la classe, sans visibilité extérieure :

public class Test {
  private static enum Option {
    FirstOption,
    SecondOption,
    ThirdOption
  }

  Option option;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X