Tipul enum

La fel ca si clasele si interfetele, enum este un tip referinta. Acest tip a fost indrodus incepand cu versiunea 1.5 in scopul simplificarii definirii constantelor.

Declararea unui enum se face utilizand cuvantul cheie enum astfel:

Day.java

Un exemplu de utilizare al tipului enum definit mai sus este prezentat in continuare:

EnumTest.java

Tipurile enum pot avea asociate de asemenea valori in momentul in care acestea sunt construite conform exemplului de mai jos:

Currency.java

Dupa cum se observa am construit un tip enum care are atasata de asemenea o variabila value si un constructor pentru initializarea acelei variabile. Constructorii declarati in cadrul enum trebuie sa aiba obligatoriu specificatorul de acces private.

metoda values()

Java ataseaza automat la tipul enum metoda static values() ce returneaza un vector cu toate constantele definite. utilizand metoda values() iterarea prin lista de constante se poate face astfel:

code

Rezultatul executiei va fi:

result

metoda valueOf()

Metoda valueOf() este adaugata automat in tipul enum si returneaza o constanta definita cu numele identic cu numele transmis ca argument in metoda valueOf(…).

EnumDemo.java

Metoda valueOf() arunca IllegalArgumentException daca sirul transmis ca si argument nu este gasit in lista de constante.