Was ist eine Java-Enumeration?
Die Definition und Verwendung von Java-Aufzählungen
Die Definition der Aufzählung:
Aufzählung ist A Der Grund für die Besonderheit liegt darin, dass es sich um einen Klassentyp handelt, der jedoch speziellere Einschränkungen aufweist. Das Vorhandensein dieser Einschränkungen macht den Aufzählungstyp jedoch auch einfach. Um einen Aufzählungstyp zu erstellen, verwenden Sie das Schlüsselwort enum. Dies impliziert, dass die erstellten Typen Unterklassen der Klasse java.lang.Enum sind (java.lang.Enum ist eine abstrakte Klasse). Der Aufzählungstyp entspricht dem allgemeinen Muster „Class Enum
2. Verwendung der Aufzählung:
Erstellen Sie eine Aufzählungsklasse: EnumTest
public enum EnumTest { //星期一,星期二,星期三,星期四,星期五,星期六 MON(1), TUE(2),WED(3),THU(4),FRI(5),SAT(6){ public boolean isRest(){ return true; } }, //星期日 SUN(0){ public boolean isRest(){ return true; } }; private int value; private EnumTest(int value){ this.value=value; } public int getValue(){ return value; } public boolean isRest(){ return false; } }
Verwenden Sie die Aufzählungsklasse EnumTest:
public class EnumMain { public static void main(String[] args) { for (EnumTest enumTest : EnumTest.values()) { System.out.println(enumTest + ":" + enumTest.getValue()); } System.out.println("---------------我是分割线------------"); EnumTest test = EnumTest.SAT; switch (test) { case MON: System.out.println("今天是星期一"); break; case TUE: System.out.println("今天是星期二"); break; case WED: System.out.println("今天是星期三"); break; case THU: System.out.println("今天是星期四"); break; case FRI: System.out.println("今天是星期五"); break; case SAT: System.out.println("今天是星期六"); break; case SUN: System.out.println("今天是星期日"); break; default: System.out.println(test); break; } } }
Ergebnis:
MON:1 TUE:2 WED:3 THU:4 FRI:5 SAT:6 SUN:0
---------------Ich bin die Trennlinie------------
Heute ist Samstag
3. Vor- und Nachteile von Aufzählungen:
Wenn Sie vor dem Aufkommen von Aufzählungen einen bestimmten Satz diskreter Werte darstellen wollten, verwendeten Sie oft einige Konstanten. Zum Beispiel:
public class Entity { public static final int VIDEO = 1;//视频 public static final int AUDIO = 2;//音频 public static final int TEXT = 3;//文字 public static final int IMAGE = 4;//图片 private int id; private int type; public int getId() { return id; } public void setId(int id) { this.id = id; } public int getType() { return type; } public void setType(int type) { this.type = type; }
4. Nachteile der Verwendung dieser konstanten Methode:
1. Der Code ist aufgrund von setType schlecht lesbar und benutzerfreundlich Die Parameter der ()-Methode sind vom Typ int,
2. Geben Sie unsicher ein. Beim Aufruf durch den Benutzer müssen die Typen vollständig konsistent sein und der Wertebereich muss stimmen. Wie setType(-1); ist zwar legal, aber nicht sinnvoll und wird dem Programm in Zukunft verschiedene Probleme bereiten.
3. Hohe Kopplung und schlechte Skalierbarkeit. Wenn aus irgendeinem Grund der Wert einer Konstante in der Entity-Klasse geändert werden muss, ist es kein Scherz, wenn die Änderung übersehen wird, wenn die Änderung erforderlich ist.
Für dieses Problem wurden Aufzählungen entwickelt. Sie geben die Möglichkeit, einen beliebigen Begriff mit einem anderen zu vergleichen.
Das obige ist der detaillierte Inhalt vonWas ist Java-Enumeration?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!