Se afișează postările cu eticheta enum. Afișați toate postările
Se afișează postările cu eticheta enum. Afișați toate postările

duminică, 21 septembrie 2025

Tipuri de date enumerare


În Java, un tip de date enumerare (numit și enum) este un tip de date special utilizat pentru a defini o colecție de constante cu nume.

 Enum-urile sunt introduse în Java începând cu versiunea 5 și sunt utilizate pentru a reprezintă un set fix de valori, cum ar fi zilele săptămânii, lunile anului, stările unui obiect etc. 

Ele oferă o modalitate sigură și clară de a lucra cu un grup de constante înrudite.

Reguli:
  1. Un tip de date enumerare este definit folosind cuvântul cheie enum.
  2. Valorile definite într-un enum sunt constante și nu pot fi modificate.
  3. O variabilă de tip enumerare poate lua doar valorile specificate în cadrul enumerării, adică doar simbolurile definite la momentul declarării acesteia.
  4. Enum-urile oferă siguranță la tip, reducând erorile cauzate de utilizarea unor valori nevalide.
  5. Enum-urile pot avea constructori, metode și câmpuri, ceea ce le face foarte flexibile.
  6. Enum-urile extind implicit clasa java.lang.Enum și nu pot extinde alte clase, dar pot implementa interfețe.

Exemplu:

enum Zi {
LUNI, MARTI, MIERCURI, JOI, VINERI, SAMBATA, DUMINICA
}


public class Main{
public static void main(String[] args) {
     Zi azi = Zi.LUNI;
     System.out.println("Astăzi este: " + azi);
}}


De asemenea, putem crea variabile de tipuri de enumerare și pot fi utilizate în cadrul altor instrucțiuni Java cum ar fi switch.

De exemplu:

enum ZileLucratoare {
    LUNI, MARTI, MIERCURI, JOI, VINERI
}

class EnumerareSwitch{
    ZileLucratoare  zi;
    public EnumerareSwitch(ZileLucratoare  zi) {
        this.zi = zi;
    }
    public void afisareTask() {
        switch(zi) {
            case LUNI:
              System.out.println("Analiza specificului companiei");
                break;
            case MARTI:
                System.out.println("Analiza sarcinii.");
                break;
            default:
                System.out.println("Nu mai avem task-uri");
                break;
  }    }}


class TestEnumerareSwitch{
    public static void main(String[] args) {
      EnumerareSwitch ob = new EnumerareSwitch(ZileLucratoare.LUNI);
      ob.afisareTask();
    }
}