Java

Java Enum Tutorial

Java Enum Tutorial
Java enum er en spesiell Java-type som defineres av en Java-klasse. Det kalles også typen Java-oppregning. Den ble introdusert i Java versjon 5 først, som hovedsakelig brukes til å definere samlingen av konstanter. Kompileringstypen av sikkerhet sikres 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 deklareres og brukes i Java vises i denne veiledningen.

Syntaks:

offentlig enum enum_name
verdi1, verdi2,… verdiN

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

Eksempel 1: Deklarer og gjentar enumverdier

Hvordan enum-verdier kan defineres og fås ved hjelp av 'for' -sløyfen, vises i følgende eksempel. Her tildeles navn på syv ukedager i kort form som enumverdier. Deretter brukes 'for' -sløyfen til å gjenta hver verdi fra hverdager og skrive ut hver verdi på hver linje som utdata.

offentlig klasse enum1
// Definer enumtypen
offentlige enum hverdager
Søn, man, ti, ons, tors, fre, lør

// main () -metoden
public static void main (String [] args)
System.ute.println ("Den korte formen på 7 hverdager er:");
// Iterere verdiene til enum
for (ukedager dag: hverdager.verdier ())
System.ute.println (dag);


Produksjon:

Følgende utdata vises etter at koden er utført.

Eksempel 2: Bruke enum i if-else-setningen

Følgende eksempel viser bruken av enum-variabel med if-else-if-setningen. Her heter enumvariabel kurs blir erklært med fireretters koder som verdier. Klassen inneholder en konstruktør som vil initialisere variabelen som heter kurs av en hvilken som helst verdi. Her vil en kurskode bli gitt på tidspunktet for oppretting av objektet, og den vil bli sjekket med hver 'hvis' tilstand og skrive ut meldingen der tilstanden returnerer sann. Hvis alle forholdene returnerer falske, vil meldingen fra den andre delen bli skrevet ut.

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

// Deklarer en variabel av enumtype
kurs kurs;
// Erklær 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
hvis (objekt1.kurs == kurs.CSE101)
System.ute.utskrift ("Kursnavnet er Computer Fundamental");
annet hvis (objekt1.kurs == kurs.CSE205)
System.ute.utskrift ("Kursnavnet er Datastruktur");
annet hvis (objekt1.kurs == kurs.CSE308)
System.ute.utskrift ("Kursnavnet er operativsystem");
annet hvis (objekt1.kurs == kurs.CSE407)
System.ute.utskrift ("Kursnavnet er Unix-programmering");
ellers
System.ute.utskrift ("Kurskode eksisterer ikke");

Produksjon:

I koden ovenfor, enum verdi, CSE205 er gitt på tidspunktet for oppretting av objekt som samsvarer med den andre 'hvis' tilstanden og skrev ut meldingen, "Kursnavnet er Datastruktur.”

Eksempel 3: Bruke enum med konstruktør og metode

Hvordan enumkonstruktø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 er erklært i koden som initialiserer den private heltallvariabelen mKode. Enummetode navngitt readMCode () er erklært å returnere verdiene av mKode. I hoved() Metoden blir seks variabler deklarert og initialisert med tom streng for å lagre bestemte enumverdier basert på bryter-case-verdiene. Her brukes 'for' -sløyfen til å gjenta hver enumverdi og erklære et enum-objekt basert på hver verdi. Når et hvilket som helst enum-objekt blir opprettet, vil koden til den tilsvarende enumverdien initialiseres til mKode. Returverdien til readMCode () metoden vil bli brukt i bryteren for å matche med saksverdier. Her er en bestemt setningsblokk definert for to saksverdier. For eksempel vil 0 og 1 returneres som mKode for månedene, JAN og FEB. Disse to måneders navn vil bli lagret i variabelen s1 og skrev ut verdien ved å kombinere den med en annen streng. Den samme oppgaven vil bli utført med de andre fem variablene, s2, s3, s4, s5, og s6, for de andre ti månedene.

I følge koden, Vinter vil bli skrevet ut for måneden JAN og FEB. Vår vil bli skrevet ut for måneden MAR og APRIL. Sommer vil bli skrevet ut for måneden KAN og JUN. Regntid vil bli skrevet ut for måneden JUL og AUG. Høst vil bli skrevet ut for måneden SEP og OKT og Sent på høsten vil bli skrevet ut for måneden NOV og DEC.

offentlig klasse enum3
offentlige høstmåneder
JAN (0), FEB (1), MAR (2), ARP (3), MAI (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)
dette.mCode = mCode;

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


// main () -metoden
public static void main (String [] args)
// Initialiser variabler
Streng s1 = "", s2 = "", s3 = "", s4 = "", s5 = "", s6 = "";
// Iterere verdiene til enum
for (Måneder måned: Måneder.verdier ())
// Erklære enum-objekt
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;
tilfelle 2:
tilfelle 3:
hvis (s2.er lik(""))
s2 = måned.toString ();
annet
s2 + = "og" + måned.toString ();
System.ute.println (s2 + "er vår.");

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

gå i stykker;
tilfelle 6:
tilfelle 7:
hvis (s4.er lik(""))
s4 = måned.toString ();
annet
s4 + = "og" + måned.toString ();
System.ute.println (s4 + "er Rainy Season.");

gå i stykker;
tilfelle 8:
tilfelle 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;
tilfelle 10:
tilfelle 11:
hvis (s6.er lik(""))
s6 = måned.toString ();
annet
s6 + = "og" + måned.toString ();
System.ute.println (s6 + "er senhøst.");

gå i stykker;



Produksjon:

Følgende utdata vises etter utføring av ovennevnte kode.

Konklusjon:

Når vi trenger å jobbe med de konstante dataene, er det bedre å bruke enum-variabelen. De forskjellige bruksområdene for enum datatype er forklart i denne veiledningen for å lære fordelene ved å bruke enumerasjonstype i Java.

Gratis og åpen kildekode-spillmotorer for utvikling av Linux-spill
Denne artikkelen vil dekke en liste over gratis og open source-spillmotorer som kan brukes til å utvikle 2D- og 3D-spill på Linux. Det er mange slike ...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...
Hvordan øke FPS i Linux?
FPS står for Bilder per sekund. FPSs oppgave er å måle bildefrekvensen i videoavspilling eller spillprestasjoner. Med enkle ord betegnes antall uavbru...