L'extension d'un enum en Java

J'ai un enum, appelons-la Une:

public enum A
{
    A,
    B
}

J'ai une fonction qui prend un enum Un:

public void functionA(A enumA)
{
    //do something
}

Comment puis-je créer un autre enum, peut-être appeler B que je peux passer à functionA? Quelque chose comme ceci?

public enum B
{
    C
}

functionA(B.C);

Je sais que vous ne pouvez pas prolonger un enum, mais quelles sont les autres options dont je dispose? Quelle est la meilleure façon d'atteindre cet objectif?

  • Qu'espérez-vous accomplir en faisant cela? La raison functionA prend un A paramètre est parce qu'il prévoit, en particulier, seules les valeurs. Supposons que vous pourrait en quelque sorte de le tromper en prenant une autre valeur à partir d'une étendue d'enum. Quelle serait la fonction de savoir quoi faire avec elle?
  • Im essayant d'ajouter un nouveau enum qui est similaire à l'existant, mais ne fait pas de sens d'ajouter de la valeur. J'espérais que je ne devriez pas avoir à modifier la fonction du tout à gérer.
  • Veuillez être plus précis. Il serait utile de parler de ce que la fonction ne fait, et que les valeurs d'énumération sont, et pourquoi la nouvelle énumération doivent être traitées par la même fonction.
  • double possible de Peut enums être sous-classé pour ajouter de nouveaux éléments?
InformationsquelleAutor user489041 | 2011-06-28