Java Enum Tutorial

Java Enum Tutorial
Java Enum er en spesiell Java -type som definerer av en Java -klasse. Det kalles også Java -oppregningen. Det blir introdusert i Java versjon 5 først, som hovedsakelig brukes til å definere samlingen av konstanter. Sikkerhetstypen er sikret ved å bruke enum -typen. Så når alle mulige verdier av variabelen er kjent før kompileringstid, er det bedre å bruke enumtype. Den definerer en klasse som alltid strekker seg fra Java.lang.Enum. Hvordan enumtype kan erklæres og brukes i Java vises i denne opplæringen.

Syntaks:

offentlig enum enum_name
verdi1, verdi2, ... Valuen

Her, enum Nøkkelord brukes til å erklære oppregningstype, og verdiene vil være en hvilken som helst konstant verdi. Ulike bruksområder av enum -type i Java vises i neste del av denne opplæringen.

Eksempel-1: erklære og iterere enumverdier

Hvordan enumverdier kan defineres og få tilgang til ved hjelp av 'for' -sløyfen vises i følgende eksempel. Her tildeles syv-ukers navn i kort form som enumverdier. Deretter brukes 'for' -sløyfen til å iterere hver verdi fra hverdager og skrive ut hver verdi i hver linje som utgang.

offentlig klasse enum1
// definere enum -typen
offentlige enum hverdager
Sol, mon, tir

// main () -metode
public static void main (String [] args)
System.ute.Println ("Den korte formen for 7 hverdager er:");
// iterere verdiene til enum
for (hverdager: hverdager.verdier ())
System.ute.println (dag);


Produksjon:

Følgende utgang vises etter å ha utført koden.

Eksempel-2: Bruke enum i IF-Else-setningen

Følgende eksempel viser bruk av enumvariabel med IF-Else-hvis-setningen. Her en enumvariabel som heter kurs erklært med fireretters koder som verdier. Klassen inneholder en konstruktør som vil initialisere variabelen som er navngitt kurs av hvilken som helst enumverdi. Her vil det bli gitt en kurskode på tidspunktet for oppretting av objekter, og den vil bli sjekket med hver 'hvis' tilstand og skrive ut meldingen der tilstanden returnerer sann. Hvis alle forholdene kommer usant, vil meldingen fra andre seksjoner bli skrevet ut.

offentlig klasse enum2
// definere enum -typen
offentlige enumkurs
CSE101, CSE205, CSE308, CSE407

// erklære en variabel av enumtype
kurskurs;
// erklære konstruktøren
offentlig enum2 (kurs kurs)
dette.kurs = kurs;

en
public static void main (String [] args)
// erklære et objekt
Enum2 Object1 = New ENUM2 (kurs.CSE205);
// sjekk kursverdien
if (objekt1.kurs == kurs.CSE101)
System.ute.trykk ("Kursnavnet er datamaskin grunnleggende");
annet hvis (objekt1.kurs == kurs.CSE205)
System.ute.Print ("Kursnavnet er datastruktur");
annet hvis (objekt1.kurs == kurs.CSE308)
System.ute.Print ("Kursnavnet er operativsystem");
annet hvis (objekt1.kurs == kurs.CSE407)
System.ute.Print ("Kursnavnet er UNIX -programmering");
ellers
System.ute.print ("Kurskode eksisterer ikke");

Produksjon:

I koden ovenfor, enumverdi, CSE205 gis på tidspunktet for objektoppretting som matchet med den andre 'IF' tilstand og trykket meldingen, "Kursnavnet er datastruktur.”

Eksempel-3: Bruke enum med konstruktør og metode

Hvordan enum konstruktør og enummetode kan defineres og brukes i Java vises i følgende eksempel. De tolv enumverdiene med koder er definert med de tolv månedene i kort form. En konstruktør av en enum med en parameter erklært i koden som initialiserer den private heltallsvariabelen som er navngitt Mcode. En enummetode som heter readmcode () er erklært å returnere verdiene til Mcode. I hoved() Metode, seks variabler er deklarert og initialisert med tom streng for å lagre de spesielle enumverdiene basert på bryter-sakverdiene. Her brukes 'for' -sløyfen til å iterere hver enumverdi og erklære et enumobjekt basert på hver verdi. Når noe enumobjekt opprettes, vil koden til den tilsvarende enumverdien bli initialisert til Mcode. Returverdien til readmcode () Metoden vil bli brukt i bryteren for å matche saksverdier. Her er en bestemt uttalelsesblokk definert for to saksverdier. For eksempel vil 0 og 1 bli returnert som Mcode for månedene, Jan og Februar. Disse to måneders navnene blir lagret i variabelen S1 og trykket verdien ved å kombinere med annen streng. Den samme oppgaven vil bli gjort med de andre fem variablene, S2, S3, S4, S5, og S6, I de andre ti månedene.

I følge koden, Vinter vil bli skrevet ut for måneden Jan og Februar. Vår vil bli skrevet ut for måneden til Mar og Apr. Sommer vil bli skrevet ut for måneden til KAN og Jun. Regntid vil bli skrevet ut for måneden til Jul og Aug. Høst vil bli skrevet ut for måneden til September og Oktober og Sent høst vil bli skrevet ut for måneden til Nov og Des.

offentlig klasse enum3
offentlige enum måneder
Jan (0), februar (1), Mar (2), ARP (3), mai (4), juni (5),
Jul (6), august (7), september (8), oktober (9), nov (10), desember (11);
privat int McOde;
// enum konstruktør
Måneder (int mcode)
dette.Mcode = Mcode;

// enummetode
public int readMCode ()
Returner dette.Mcode;


// main () -metode
public static void main (String [] args)
// Initialiser variabler
String s1 = "", s2 = "", s3 = "", s4 = "", s5 = "", s6 = "";
// iterere verdiene til enum
for (måned måned: måneder.verdier ())
// erklære enumobjekt
Måneder m = måned;
bryter (m.readmcode ())

sak 0:
Sak 1:
hvis (s1.er lik(""))
S1 = måned.toString ();
annet
s1+= "og"+måned.toString ();
System.ute.Println (S1+"er vinter.");

gå i stykker;
sak 2:
sak 3:
hvis (S2.er lik(""))
S2 = måned.toString ();
annet
s2+= "og"+måned.toString ();
System.ute.Println (S2+"er våren.");

gå i stykker;
Sak 4:
Sak 5:
hvis (S3.er lik(""))
S3 = måned.toString ();
annet
s3+= "og"+måned.toString ();
System.ute.Println (S3+"er sommer.");

gå i stykker;
Sak 6:
Sak 7:
hvis (S4.er lik(""))
S4 = måned.toString ();
annet
s4+= "og"+måned.toString ();
System.ute.Println (S4+"er regntid.");

gå i stykker;
Sak 8:
sak 9:
hvis (S5.er lik(""))
S5 = måned.toString ();
annet
s5+= "og"+måned.toString ();
System.ute.Println (S5+"er høst.");

gå i stykker;
sak 10:
Sak 11:
hvis (S6.er lik(""))
S6 = måned.toString ();
annet
s6+= "og"+måned.toString ();
System.ute.Println (S6+"er sent høst.");

gå i stykker;



Produksjon:

Følgende utgang vises etter å ha utført koden ovenfor.

Konklusjon:

Når vi trenger å jobbe med de konstante dataene, er det bedre å bruke enumvariabelen. De forskjellige bruken av enum -datatype er forklart i denne opplæringen for å lære fordelene ved å bruke oppregningstype i Java.