Introduzione agli Enum

Input/Output e Stream in Java

Alex Liu

Software Development Engineer

Perché usare gli Enum?

  • Gli Enum definiscono un set fisso di valori
    • Esempio: giorni della settimana, codici di stato
  • Migliorano leggibilità e manutenibilità del codice
  • Evitano valori non validi nelle variabili
  • Nota: non serve import, gli Enum fanno parte della libreria core di Java
Input/Output e Stream in Java

Definire un Enum

  • Dichiara un Enum con la keyword enum
    enum Day {
      MONDAY, 
      TUESDAY, 
      WEDNESDAY, 
      THURSDAY, 
      FRIDAY, 
      SATURDAY, 
      SUNDAY;
    }
    
  • Ogni valore è una costante scritta in maiuscolo
Input/Output e Stream in Java

Usare gli Enum in un programma

  • Esempio: assegnare e stampare un valore Enum
    public class EnumExample {
      public static void main(String[] args) {
          Day today = Day.WEDNESDAY; // Assegna un valore Enum
          System.out.println("Today is: " + today);
      }
    }
    
  • Output:
    Today is: WEDNESDAY
    
Input/Output e Stream in Java

Iterare sui valori di un Enum

  • Usa .values() per ottenere tutti i valori di un Enum
  • Usa .ordinal() per l'indice dell'elemento
  • Riutilizziamo l'Enum Day definito prima:
    for (Day d : Day.values()) {
      System.out.println(d);
      System.out.print(
      " is at index " + d.ordinal());
    }
    
  • Questo programma stamperà tutti i valori definiti nell'Enum:
    MONDAY is at index 0
    TUESDAY is at index 1
    WEDNESDAY is at index 2
    THURSDAY is at index 3
    FRIDAY is at index 4
    SATURDAY is at index 5
    SUNDAY is at index 6
    
Input/Output e Stream in Java

Enum con metodi

  • Gli Enum possono avere metodi per funzionalità extra
enum Status {
    SUCCESS("Operation successful"),
    ERROR("An error occurred");

    private String message;
    Status(String message) {
        this.message = message;
    }
    public String getMessage() {
        return message;
    }
}
Input/Output e Stream in Java

Enum con metodi

  • Esempio di utilizzo dell'Enum Status
public class EnumMethodExample {
    public static void main(String[] args) {
        Status current = Status.SUCCESS;
        System.out.println("Status: " + current);
        System.out.println("Message: " + current.getMessage());
    }
}
  • Output:
Status: SUCCESS
Message: Operation successful
Input/Output e Stream in Java

Ayo berlatih!

Input/Output e Stream in Java

Preparing Video For Download...