Maison  >  Questions et réponses  >  le corps du texte

java - Qu'est-ce qu'une énumération? Pourquoi est-ce là?

Phénomène réel

Phénomènes attendus

  1. Rejeter les réponses dogmatiques extraites de documents (le temps est important)

  2. Vous recherchez une compréhension approfondie de l'énumération (au moins j'ai écrit beaucoup de code dans l'environnement de production actuel) !

Remarque : je ne suis pas un débutant en programmation, certains concepts de base ne nécessitent pas de vulgarisation scientifique

Contexte

我想大声告诉你我想大声告诉你2713 Il y a quelques jours654

répondre à tous(7)je répondrai

  • 高洛峰

    高洛峰2017-05-17 10:03:51

    1. peut être utilisé au lieu de définir des constantes de type, telles que le statut de la commande, le type de document, etc., pour garantir la sécurité du type.
      Par exemple, si la classe String ordinaire est utilisée pour représenter le statut de la commande, l'appelant peut transmettre une chaîne qui n'est pas dans la plage d'état de la commande pour l'appelé. Ce type d'erreur est introuvable lors de l'étape de compilation

    2. .
    3. La classe d'énumération Java est essentiellement une implémentation d'un modèle à instances multiples, et le modèle singleton est un cas particulier de modèle à instances multiples

    4. Les classes d'énumération ne peuvent pas être héritées. Par exemple, enumA extends enumB ne peut pas être utilisé

    5. .
    6. Une classe d'énumération avec des types internes afin d'implémenter l'interface Comparable

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-17 10:03:51

    Le chapitre 6 de Java efficace a une explication détaillée, vous pouvez la consulter

    répondre
    0
  • 高洛峰

    高洛峰2017-05-17 10:03:51

    Vous pouvez simplement considérer enum comme un type int avec des informations de remarque.

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-17 10:03:51

    Je suis choqué par vos conditions, alors je vais juste vous faire part de mes réflexions personnelles

    enum peut être considérée comme une classe spéciale qui contient des constantes accessibles et publiques. En fait, en tant que constantes accessibles et publiques, elles ont été analysées dans le pool de constantes pendant le processus de chargement de la classe. Enum permet uniquement aux utilisateurs d'y accéder à partir d'une sémantique. perspective. Facilite l'affichage de la signification des constantes lors de leur utilisation. Dans le même temps, cela facilite également la construction de constantes, en parcourant toutes les constantes d'un certain type, en les utilisant dans les instructions switch, etc.

    répondre
    0
  • 習慣沉默

    習慣沉默2017-05-17 10:03:51

    Cette question est trop vaste et difficile à répondre.
    enum est essentiellement une classe qui hérite de java.lang.Enum et peut être utilisée dans des singletons et où les entrées doivent être limitées

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-17 10:03:51

    Permettez-moi d'abord de parler de ma compréhension personnelle, superficielle et subjective, et de donner quelques idées.

    Je pense que le but de l'énumération est :

    • Fournir un moyen de gérer les constantes,

    • Un espace de noms.

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-17 10:03:51

    L'existence de l'énumération elle-même est destinée à résoudre le problème de lisibilité des constantes. Avant qu'il n'y ait pas d'énumération, pour marquer un état, le type int était souvent utilisé. La lisibilité de 1, 2 et ainsi de suite n'était pas très bonne, et a. une nouvelle constante a été ajoutée pour écrire une longue instruction, cette fonction a été ajoutée dans jdk5 pour résoudre cette série de problèmes. Son essence est une classe, mais lors de la création d'une énumération, elle générera automatiquement des valeurs(), ordinal() et d'autres méthodes, et prend en charge les instructions switch, couvrant les scénarios dans lesquels des constantes apparaîtront. Il est plus pratique à utiliser que de définir directement des constantes. .

    répondre
    0
  • Annulerrépondre