Inhaltsverzeichnis
How to Define an Enum
Common Uses of Enums
Working with Enums in Code
Heim Java javaLernprogramm Was ist der Typ 'Enum' in Java?

Was ist der Typ 'Enum' in Java?

Jul 02, 2025 am 01:31 AM
java enum

Java中的枚举(enum)是一种特殊的类,用于表示固定数量的常量值。1. 使用enum关键字定义;2. 每个枚举值都是该枚举类型的公共静态最终实例;3. 可以包含字段、构造函数和方法,为每个常量添加行为;4. 可在switch语句中使用,支持直接比较,并提供name()、ordinal()、values()和valueOf()等内置方法;5. 枚举可提升代码的类型安全性、可读性和灵活性,适用于状态码、颜色或星期等有限集合场景。

What is the `enum` type in Java?

Enums in Java are a special type of class that represent a fixed number of constant values. They're commonly used when you have a variable that should only hold one of a small set of possible values—like days of the week, colors, or status codes.


How to Define an Enum

You define an enum using the enum keyword. Here's a basic example:

public enum Day {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

Each value (like MONDAY, TUESDAY, etc.) is an instance of the Day enum. Behind the scenes, Java creates a class that extends java.lang.Enum, so enums come with some built-in methods.

Some key points:

  • Enums can be declared outside or inside a class, but not inside a method.
  • Each enum constant is implicitly public static final.

Common Uses of Enums

Enums are more than just named constants. You can add fields, constructors, and methods to them.

For example, let’s say you want each day to have a "type":

public enum Day {
    MONDAY("Weekday"),
    TUESDAY("Weekday"),
    WEDNESDAY("Weekday"),
    THURSDAY("Weekday"),
    FRIDAY("Weekday"),
    SATURDAY("Weekend"),
    SUNDAY("Weekend");

    private String type;

    Day(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }
}

Now, each day has additional behavior. This makes enums very useful for grouping related constants with shared logic.


Working with Enums in Code

You can use enums in switch statements, compare them directly, and get their names or ordinal positions.

Here’s how you might use it:

Day today = Day.MONDAY;

System.out.println(today); // Output: MONDAY
System.out.println(today.getType()); // Output: Weekday

if (today.getType().equals("Weekend")) {
    System.out.println("Time to relax!");
} else {
    System.out.println("Time to work.");
}

Useful methods you'll often see:

  • name() – returns the name of the enum constant.
  • ordinal() – returns the position in the enum declaration (starts at 0).
  • values() – returns an array of all enum constants.
  • valueOf(String) – returns the enum constant matching the given name.

Enums give you a clean way to model fixed sets of related data. They’re type-safe, readable, and flexible enough to handle many real-world scenarios without needing extra classes or constants.基本上就这些。

Das obige ist der detaillierte Inhalt vonWas ist der Typ 'Enum' in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1517
276
Python Argparse erforderte Argument -Beispiel Python Argparse erforderte Argument -Beispiel Aug 11, 2025 pm 09:42 PM

Bei der Verwendung des ArgParse -Moduls können die bereitgestellten Parameter erreicht werden, indem erforderlich ist. 1. Verwenden Sie erforderliche = treu, um optionale Parameter (z. B. -Eingabe) zu setzen, um erforderlich zu sein. Wenn dies bei der Ausführung des Skripts nicht bereitgestellt wird, wird ein Fehler gemeldet. 2. Positionsparameter sind standardmäßig erforderlich, und es ist nicht erforderlich, erforderlich zu sein, die erforderliche = true; 3.. Es wird empfohlen, Positionsparameter für die erforderlichen Parameter zu verwenden. Gelegentlich werden die optionalen Parameter von erforderlich = true verwendet, um die Flexibilität aufrechtzuerhalten. 4. Erforderlich = True ist der direkteste Weg, um Parameter zu steuern. Nach der Verwendung muss der Benutzer beim Aufrufen des Skripts entsprechende Parameter bereitstellen, da das Programm ansonsten einen Fehler auffordert und beendet.

Was sind Kommentare in Java? Was sind Kommentare in Java? Aug 12, 2025 am 08:20 AM

KommentarinjavareignedByTheCompilerandusedForExplanation, Notizen, ordisablingcode.therearethreetypes: 1) Single-Linde-Deals startwith // und Lastuntiltheendoftheline; 2) Multi-Linde-Bingin-Dokumentation und-undcantranmultipline; 3) Dokumentation

So verwenden Sie die HTTPClient -API in Java So verwenden Sie die HTTPClient -API in Java Aug 12, 2025 pm 02:27 PM

Der Kern der Verwendung des Javahttpclientapi besteht darin, einen Httpclient zu erstellen, einen httprequest zu erstellen und httPesponse zu verarbeiten. 1. Verwenden Sie httpclient.newhttpclient () oder httpclient.newbuilder (), um Zeitüberschreitungen, Proxy usw. zu konfigurieren, um Clients zu erstellen. 2. Verwenden Sie httprequest.newbuilder (), um URI, Methode, Kopfzeile und Körper zu setzen, um Anfragen zu erstellen. 3.. Senden Sie synchrone Anfragen über Client.send () oder asynchrone Anfragen über Client.sendasync (); 4. Verwenden Sie Bodyhandlers.Ofstr

Die besten IDES für Java -Entwicklung: eine vergleichende Überprüfung Die besten IDES für Java -Entwicklung: eine vergleichende Überprüfung Aug 12, 2025 pm 02:55 PM

Thebestjavaidein2024Dependyourneeds: 1.CHOOSEINTELLIJIDEAFORPROFESSIONAL, ENTERPRISE, Orull-StackDevelopmentDuetoitsSuperiorCodeIntelligence, Frameworkintegration, andtooling.2. Useclipseforhoxhensibilsibsibilität, LegacyPro-Eigenschaften, oderweigte, oderweigende, oderweilen, oderweilen, orwhenopenen-seourzatioten, legacyprojekts, orwhenopenen-seourzatioten, legacyprojekts, orwhenopenen-seourcatiatiox

Fix: Ethernet 'Nicht identifiziertes Netzwerk' Fix: Ethernet 'Nicht identifiziertes Netzwerk' Aug 12, 2025 pm 01:53 PM

RestartyourRouterandComputertoresolvetemporaryglitches.2.RunthenetworkrouBleshooterviathesystemTraytoAutomaticFixCommonissues.3.RewhewIpadDressusesusesusesusesuSuseingCommandpromptasadMinistratorByRunningipconfig/Release, Ipconfig/Reufreset und Netshwinset und Netschon/Rufe, Netshwinset und Netshwinset und NETSHNE und NETSETH und NETSETH und NETHN

Wie man Saiten in Java vergleicht Wie man Saiten in Java vergleicht Aug 12, 2025 am 10:00 AM

Verwenden Sie .Equals (), um den String -Inhalt zu vergleichen, da == nur Objektreferenzen und nicht tatsächliche Zeichen vergleichen; 2. Verwenden Sie .EqualSignoreCase () beim Vergleich des Ignorierens; 3.. Verwenden Sie .Compareto () bei alphabetisch sortierender und comparetoignorecase (), wenn Sie den Fall ignorieren; 4. Vermeiden Sie es, Strings anzurufen, die möglicherweise null sein können. Equals () sollte verwendet werden, um "buchstäblich" .Eequals (Variable) oder Objekte zu verwenden. Ausgleiche (STR1, STR2), um Nullwerte sicher zu verarbeiten; Kurz gesagt, achten Sie immer eher auf den Vergleich des Inhalts als auf Referenz,

Was ist eine Linkedlist in Java? Was ist eine Linkedlist in Java? Aug 12, 2025 pm 12:14 PM

LinkedList ist eine bidirektionale verknüpfte Liste in Java, die Liste und Deque -Schnittstellen implementiert. Es ist für Szenarien geeignet, in denen häufig Elemente eingefügt und gelöscht werden. Insbesondere beim Betrieb an beiden Enden der Liste hat es eine hohe Effizienz, aber die Zufallszugriffsleistung ist schlecht und die Zeitkomplexität ist O (N). Einfügen und Löschen können O (1) an bekannten Stellen erreichen. Daher ist es geeignet, Stapel, Warteschlangen oder Situationen zu implementieren, in denen Strukturen dynamisch modifiziert werden müssen, und eignet sich nicht für readintensive Operationen, die häufig nach Index zugreifen. Die endgültige Schlussfolgerung ist, dass die LinkedList besser als ArrayList ist, wenn sie häufig geändert wird, aber weniger Zugriffe hat.

Excel finden und ersetzen Sie nicht funktionieren Excel finden und ersetzen Sie nicht funktionieren Aug 13, 2025 pm 04:49 PM

CheckSearchsets -ähnliche "MatchentirecellContents" und "Matchcase" ByexpandingOptionssinfindandReplace, sorgen für "Lookin" IssettoValuesand "Innere" toCorrectScope;

See all articles