Java

Java Enum Tutorial

Java Enum Tutorial
Java enum er en speciel Java-type, der defineres af en Java-klasse. Det kaldes også Java-optællingstypen. Det introduceres først i Java version 5, som primært bruges til at definere samlingen af ​​konstanter. Kompileringstypen af ​​sikkerhed sikres ved hjælp af enum-typen. Så når alle mulige værdier af variablen er kendt inden kompileringstid, er det bedre at bruge enum-typen. Det definerer en klasse, der altid strækker sig fra java.lang.Enum. Hvordan enumtype kan erklæres og bruges i Java vises i denne vejledning.

Syntaks:

offentlig enum enum_name
værdi1, værdi2,… værdiN

Her, enum nøgleord bruges til at erklære enumerationstype, og værdierne vil være en hvilken som helst konstant værdi.  Forskellige anvendelser af enum-type i Java vises i den næste del af denne vejledning.

Eksempel 1: Deklarer og gentag enumværdier

Hvordan enumværdier kan defineres og tilgås ved hjælp af 'for' -sløjfen, vises i det følgende eksempel. Her tildeles syv-ugedagsnavne i den korte form som enumværdier. Derefter bruges 'for' -sløjfen til at gentage hver værdi fra hverdage og udskrive hver værdi i hver linje som output.

offentlig klasse enum1
// Definer enumtypen
offentlige enum hverdage
Søn, man, tir, ons, tor, fre, lør

// main () metode
offentlig statisk ugyldig hoved (String [] args)
System.ud.println ("Den korte form på 7 hverdage er:");
// Iterering af enums værdier
for (hverdage dag: hverdage.værdier ())
System.ud.println (dag);


Produktion:

Følgende output vises efter udførelse af koden.

Eksempel 2: Brug af enum i if-else-sætningen

Følgende eksempel viser brugen af ​​enum-variabel med if-else-if-sætningen. Her er en enum-variabel navngivet kurser erklæres med fire-kursus koder som værdier. Klassen indeholder en konstruktør, der initialiserer den navngivne variabel Rute med en hvilken som helst enumværdi. Her vil der blive givet en kursuskode på tidspunktet for oprettelse af objekt, og den kontrolleres med hver 'hvis' tilstand og udskriver beskeden, hvor betingelsen returnerer sand. Hvis alle betingelserne returnerer falske, udskrives beskeden fra det andet afsnit.

offentlig klasse enum2
// Definer enumtypen
offentlige enum-kurser
CSE101, CSE205, CSE308, CSE407

// Erklær en variabel af enum-typen
kursus kursus;
// Erklær konstruktøren
public enum2 (kursus kursus)
det her.kursus = kursus;

-en
offentlig statisk ugyldig hoved (String [] args)
// Erklær et objekt
enum2 object1 = ny enum2 (kurser.CSE205);
// Kontroller kursusværdien
hvis (objekt1.kursus == kurser.CSE101)
System.ud.print ("Kursusnavnet er Computer Fundamental");
ellers hvis (objekt1.kursus == kurser.CSE205)
System.ud.print ("Kursusnavnet er datastruktur");
ellers hvis (objekt1.kursus == kurser.CSE308)
System.ud.print ("Kursusnavnet er operativsystem");
ellers hvis (objekt1.kursus == kurser.CSE407)
System.ud.print ("Kursusnavnet er Unix-programmering");
andet
System.ud.print ("Kursuskode findes ikke");

Produktion:

I ovenstående kode, enum værdi, CSE205 leveres på tidspunktet for oprettelse af objekt, der matchede den anden 'hvis' betingelse og udskrev meddelelsen, “Kursusnavnet er datastruktur.”

Eksempel 3: Brug af enum med konstruktør og metode

Hvordan enum konstruktør og enum metode kan defineres og bruges i java vises i det følgende eksempel. De tolv enumværdier med koder defineres med de tolv måneder i kort form. En konstruktør af et enum med en parameter erklæres i koden, der initialiserer den private heltalvariabel, der hedder mKode. Enummetode navngivet readMCode () erklæres at returnere værdierne af mKode. I hoved () metode, seks variabler erklæres og initialiseres med tom streng for at gemme de bestemte enumværdier baseret på switch-case-værdierne. Her bruges 'for' -sløjfen til at gentage hver enumværdi og erklære et enum-objekt baseret på hver værdi. Når der oprettes et hvilket som helst enum-objekt, initialiseres koden for den tilsvarende enum-værdi til mKode. Returneringsværdien af readMCode () metode vil blive brugt i kontakten til at matche med sagsværdier. Her defineres en bestemt sæt udsagn for to sagsværdier. For eksempel returneres 0 og 1 som mKode for månederne, JAN og FEB. Disse to måneders navne gemmes i variablen s1 og udskrev værdien ved at kombinere med en anden streng. Den samme opgave udføres med de andre fem variabler, s2, s3, s4, s5, og s6, i de øvrige ti måneder.

I henhold til koden, Vinter udskrives for måneden JAN og FEB. Forår udskrives i måneden MAR og APR. Sommer udskrives i måneden KAN og JUN. Regntiden udskrives i måneden JUL og AUG. Efterår udskrives i måneden SEP og OKT og Sent på efteråret udskrives i måneden NOV og DEC.

offentlig klasse enum3
offentlige enum måneder
JAN (0), FEB (1), MAR (2), ARP (3), MAJ (4), JUN (5),
JUL (6), AUG (7), SEP (8), OKT (9), NOV (10), DEC (11);
privat int mCode;
// enum konstruktør
Måneder (int mCode)
det her.mCode = mCode;

// enum-metoden
offentlig int readMCode ()
returner dette.mKode;


// main () metode
offentlig statisk ugyldig hoved (String [] args)
// Initialiser variabler
Streng s1 = "", s2 = "", s3 = "", s4 = "", s5 = "", s6 = "";
// Iterering af enums værdier
for (Måneder måned: Måneder.værdier ())
// Erklær enum-objekt
Måneder m = måned;
afbryder (m.readMCode ())

sag 0:
sag 1:
hvis (s1.lige med(""))
s1 = måned.toString ();
andet
s1 + = "og" + måned.toString ();
System.ud.println (s1 + "er vinter.");

pause;
sag 2:
sag 3:
hvis (s2.lige med(""))
s2 = måned.toString ();
andet
s2 + = "og" + måned.toString ();
System.ud.println (s2 + "er forår.");

pause;
sag 4:
sag 5:
hvis (s3.lige med(""))
s3 = måned.toString ();
andet
s3 + = "og" + måned.toString ();
System.ud.println (s3 + "er sommer.");

pause;
sag 6:
sag 7:
hvis (s4.lige med(""))
s4 = måned.toString ();
andet
s4 + = "og" + måned.toString ();
System.ud.println (s4 + "er Rainy Season.");

pause;
sag 8:
sag 9:
hvis (s5.lige med(""))
s5 = måned.toString ();
andet
s5 + = "og" + måned.toString ();
System.ud.println (s5 + "er efterår.");

pause;
sag 10:
sag 11:
hvis (s6.lige med(""))
s6 = måned.toString ();
andet
s6 + = "og" + måned.toString ();
System.ud.println (s6 + "er sen efterår.");

pause;



Produktion:

Følgende output vises efter udførelse af ovenstående kode.

Konklusion:

Når vi har brug for at arbejde med de konstante data, er det bedre at bruge enum-variablen. De forskellige anvendelser af enum datatype forklares i denne vejledning for at lære fordelene ved at bruge enumerationstype i Java.

Top 5 spiloptagelseskort
Vi har alle set og elsket streaming af gameplay på YouTube. PewDiePie, Jakesepticye og Markiplier er kun nogle af de bedste spillere, der har tjent mi...
Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...
Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...