Junior — Middle
Explicați conceptul de Enum Class și diferența față de enumerările obișnuite
sobes.tech AI
Răspuns de la AI
În Android (și în Java în general), enum class este o clasă de enumerare care reprezintă un set de constante, cu posibilitatea de a adăuga câmpuri, metode și constructori.
Diferențe față de enumerările obișnuite (de exemplu, în C sau constante simple):
- Siguranță de tip — enum este o clasă completă, iar o variabilă de tip enum poate accepta doar valorile definite.
- Posibilitatea de a adăuga comportament — se pot defini metode și câmpuri în interiorul enum.
- Utilizare în switch — enum este convenabil de folosit în instrucțiuni de selecție.
Exemplu de enum în Java/Android:
public enum Status {
NEW(0),
IN_PROGRESS(1),
DONE(2);
private int code;
Status(int code) {
this.code = code;
}
public int getCode() {
return code;
}
}
Prin urmare, enum class este o metodă extinsă de a defini un set fix de constante cu funcționalitate suplimentară, spre deosebire de enumerațiile simple, care pot fi doar un set de numere sau șiruri de caractere fără logică.