Java Enums (aufzählige Typen) sind ein spezieller Datentyp, der zum Definieren von Sammlungen von Konstanten verwendet wird. Sie sind besonders nützlich, um feste Wertesätze darzustellen, bei denen Sie die Sicherheitstyp und klare, beschreibende Codierungspraktiken sicherstellen möchten. So können Sie Enums in Java verwenden, um einen festen Satz von Werten darzustellen:
Eine Aufzählung deklarieren:
Verwenden Sie zum Erstellen eines Enum das Schlüsselwort enum
, gefolgt vom Namen des Enum und seiner Werte in lockigen Klammern. Hier ist ein einfaches Beispiel für eine Aufzählung, die die Wochentage darstellt:
<code class="java">public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }</code>
Verwenden einer Aufzählung:
Sie können den Enum als Typ für Variablen, Methodenargumente und Rückgabetypen verwenden. Zum Beispiel:
<code class="java">Day today = Day.MONDAY;</code>
Sie können auch Enum -Werte mit dem Operator ==
vergleichen:
<code class="java">if (today == Day.MONDAY) { System.out.println("It's Monday!"); }</code>
Enum -Konstruktor und Felder:
Sie können Enums Felder und Konstruktoren hinzufügen, um zusätzliche Daten mit jeder Enum -Konstante zu speichern. Wenn Sie beispielsweise jeden Tag einen numerischen Wert in Verbindung bringen möchten:
<code class="java">public enum Day { SUNDAY(1), MONDAY(2), TUESDAY(3), WEDNESDAY(4), THURSDAY(5), FRIDAY(6), SATURDAY(7); private final int dayNumber; Day(int dayNumber) { this.dayNumber = dayNumber; } public int getDayNumber() { return dayNumber; } }</code>
Sie können über Getter -Methoden auf diese Felder zugreifen:
<code class="java">Day today = Day.MONDAY; int dayNumber = today.getDayNumber(); // Returns 2</code>
Die Verwendung von Enums in Java zum Verwalten fester Wertesätze bietet mehrere erhebliche Vorteile:
Day.SUN
zu verwenden. Sun im obigen Beispiel würde zu einem Kompilierungsfehler führen.Das Hinzufügen von benutzerdefinierten Methoden in Java ist unkompliziert und kann ihre Funktionalität erheblich verbessern. So können Sie es tun:
Hinzufügen von Methoden:
Sie können Methoden direkt in die Enum -Deklaration hinzufügen. Diese Methoden werden von allen Enum -Konstanten geteilt. Sie können beispielsweise eine Methode hinzufügen, um zu überprüfen, ob ein Tag ein Wochenende ist:
<code class="java">public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY; public boolean isWeekend() { return this == SUNDAY || this == SATURDAY; } }</code>
Sie können diese Methode wie folgt verwenden:
<code class="java">Day today = Day.SUNDAY; if (today.isWeekend()) { System.out.println("It's a weekend!"); }</code>
Abstrakte Methoden:
Sie können abstrakte Methoden auch in einer Aufzählung definieren, wodurch jede Konstante eine eigene Implementierung bereitstellt. So können Sie das tun:
<code class="java">public enum Day { SUNDAY { public String getDescription() { return "A day for resting and relaxing."; } }, MONDAY { public String getDescription() { return "The start of the work week."; } }, // Similar implementations for other days... public abstract String getDescription(); }</code>
Sie können diese Methode dann auf einer beliebigen Enum -Konstante aufrufen:
<code class="java">Day today = Day.MONDAY; System.out.println(today.getDescription()); // Prints: "The start of the work week."</code>
Ja, Enums in Java können in Switch-Anweisungen verwendet werden, was zu lesbareren und effizienteren Code im Vergleich zur Verwendung von IF-ELSE-Ketten führen kann. So können Sie Enums in Switch -Anweisungen verwenden:
Grundlegende Schalteranweisung:
Sie können Enum -Werte direkt in Switch -Fällen verwenden. Beispielsweise verwenden Sie den Day
mit früher:
<code class="java">Day today = Day.MONDAY; switch (today) { case MONDAY: System.out.println("Start of the work week."); break; case FRIDAY: System.out.println("End of the work week."); break; case SATURDAY: case SUNDAY: System.out.println("It's a weekend!"); break; default: System.out.println("Midweek day."); }</code>
Ausdrücke wechseln (Java 12):
Ausgehend von Java 12 können Sie Switch -Ausdrücke verwenden, die eine prägnantere Möglichkeit bieten, die Switch -Logik zu verarbeiten. Hier ist ein Beispiel, das den Day
Enum verwendet:
<code class="java">Day today = Day.MONDAY; String message = switch (today) { case MONDAY -> "Start of the work week."; case FRIDAY -> "End of the work week."; case SATURDAY, SUNDAY -> "It's a weekend!"; default -> "Midweek day."; }; System.out.println(message);</code>
Durch die Verwendung von Enums in Switch-Anweisungen stellt nicht nur sicher, dass Sie mit einem geschlossenen Satz bekannt sind, sondern können Ihren Code auch aufrechterhalten und weniger fehleranfälliger werden.
Das obige ist der detaillierte Inhalt vonWie benutze ich Javas Enums, um feste Wertesätze darzustellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!