1. La différence entre l'énumération et les constantes statiques
En ce qui concerne l'énumération, nous réfléchissons d'abord à la façon dont il est différent des constantes modifiées par la chaîne finale statique publique.
Je vais citer deux avantages de l'énumération:
1. Assurer la sécurité de type: l'appelant ne peut pas passer une valeur int ou chaîne à volonté;
2. Le code est très lisible;
Par exemple:
Dans la programmation réelle, il existe souvent de tels "ensembles de données", dont les valeurs sont stables dans le programme, et les éléments des "ensembles de données" sont limités. Par exemple, les quatre éléments de données du printemps, de l'été, de l'automne et de l'hiver forment le "jeu de données" des quatre saisons.
Vous avez écrit la méthode GET (saison des chaînes), et le type que vous saisissez ne peut être que le type de chaîne, et la chaîne ne peut être que (printemps, été, automne, hiver).
Cette fois. Vous écrivez quatre constantes de chaîne
classe publique Common {public static final String printemps = "printemps"; Public Static Final String Season = "Summer"; public statique final String Summer = "Autumn"; public static final String umnomn = "hiver";}Mettre Get (Common. Season) dans la méthode Get est en effet de mettre le "printemps", mais pour le moment vous constaterez qu'il y a un danger caché ici. Vous obtenez (saison des chaînes), après tout, le type de chaîne est mis. Si un nouveau collègue ou un collègue non informé ne sait pas que vous ne pouvez mettre que "le printemps, l'été, l'automne et l'hiver" dans cette méthode. Il met une chaîne telle que GET ("Xiaoxiao"). À l'heure actuelle, il ne rapportera pas d'erreur pendant la période de compilation. Ce n'est qu'après avoir coulé, il constatera que c'est mal.
Afin d'empêcher les dangers cachés ci-dessus, l'énumération apparaît
Saison d'énumération publique {printemps ("printemps"), été ("été"), automne ("automne"), hiver ("hiver"); ....}À l'heure actuelle, nous modifions le transfert de paramètres de la méthode GET et le modifions pour obtenir (saison de saison). Pour le moment, nous ajoutons Get (saison.spring), ce qui peut garantir que seuls quelques paramètres passés sont.
2. Comprendre l'énumération
Tout d'abord, nous devons être clairs. En fait, l'énumération est également une classe de classe. J'écrirai une énumération à comprendre.
// Nous traitons les énumérations comme une classe publique de classe commune de la saison des énumérements {printemps (1, "printemps"), été (2, "été"), automne (3, "automne"), hiver (4, "hiver"); // Le dernier ici doit être un point-virgule, sinon une erreur sera signalée / * Nous pouvons le comprendre comme * Public Static Final Season Spring = nouvelle saison (1, printemps); * Public Static Final Saison Summer = Nouvelle saison (2, été); * Public Static Final Saison automne = nouvelle saison (3, automne); * Public Static Final Season hiver = nouvelle saison (4, hiver); * Puisqu'il s'agit d'un objet, il est facile à comprendre ci-dessous * / / * * 1. Il y a deux paramètres dans l'objet ci-dessus, il doit donc y avoir un constructeur de ce type ci-dessous * 2. Ceci est privé, car il ne peut pas être un nouvel objet * / Saison privée (int, name de chaîne) {this.name = name; this.code = code; } // Attributs du nom de chaîne privée d'objet; code int privé; // Méthodes pour obtenir des propriétés d'objet public String GetName () {return this.name; } public String getcode () {return this.name; } // Obtenez l'objet via le code, nous pouvons obtenir d'autres propriétés de l'objet public static de la saison statique (int) {saison saison = null; pour (Type de saison: saison.values ()) {if (type.code == code) {saison = type; casser; }} saison de retour; } // Méthode de re-tostring public String toString () {return this.name; }}L'exemple ci-dessus explique très bien l'énumération. Ce n'est pas différent des classes ordinaires. Il utilise simplement une autre façon de créer plusieurs objets avec des attributs. Cela nécessite également un tel constructeur avec des attributs, et c'est tout.
Voici quelques-unes des caractéristiques de l'énumération:
1. Il ne peut pas avoir de constructeur public, et cela peut garantir que le code client ne peut pas créer une nouvelle instance d'Enum.
2. L'énumération ne peut pas hériter d'autres classes car elle hérite de java.lang.enum par défaut.
3. L'adresse de valeur constante est unique, et vous pouvez utiliser == pour la comparer directement, et les performances seront améliorées.
4. Enum fournit également la méthode des valeurs, qui vous permet de traverser facilement toutes les valeurs d'énumération.
5. Enum a également une méthode oridinale, qui renvoie l'ordre des valeurs d'énumération dans la classe Enum, qui dépend de l'ordre de la déclaration de valeur d'énumération.
3. Utilisation commune de l'énumération
Le premier type: Application de commutation
Créez d'abord une énumération:
public Enum Common {insérer, modifier, supprimer} // Parce qu'il s'agit d'un objet sans paramètres, le constructeur par défaut du système peut être utilisé. Il n'est pas nécessaire d'écrire des attributs et des méthodes.Rédaction du code d'implémentation
classe publique Commonutils {public static void getType (commun commun) {commun c = commun; switch (c) {Case insert: System.out.println ("Insert Operation"); casser; Case Modify: System.out.println ("Configurer l'opération"); casser; case delete: System.out.println ("Supprimer l'opération"); casser; }} public static void main (String [] args) {getType (commun.delete); // Sortie d'arrière-plan: supprimer l'opération}}La deuxième utilisation consiste à obtenir la valeur de valeur via la valeur clé pour obtenir d'autres valeurs
Classe d'énumération
Saison en énume public {printemps (1, "printemps", "Spring Kite Flying in Spring"), Summer (2, "Summer", "Swimming in Summer"), Automne (3, "Automne", "Automne Outing in Automne"), Winter (4, "Winter" Saison "Winter" (Name; String privé BZ; Saison statique publique (Code int) {saison de saison = Null;Classe de test
D'accord, j'écrirai tellement, et je vais en savoir plus en profondeur si j'en ai besoin à l'avenir. Merci pour votre soutien à wulin.com.