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();
    }
}

 




Niciun comentariu:

Trimiteți un comentariu

Vă mulțumesc pentru feedback!