Introducción a los Enums

Entrada/Salida y Streams en Java

Alex Liu

Software Development Engineer

¿Por qué usar Enums?

  • Los Enums definen un conjunto fijo de valores
    • Ejemplo: días de la semana, códigos de estado
  • Mejoran la legibilidad y el mantenimiento del código
  • Evitan valores no válidos en variables
  • Nota: no hace falta importar; los Enums forman parte de la biblioteca principal de Java
Entrada/Salida y Streams en Java

Definir un Enum

  • Declara un Enum con la palabra clave enum
    enum Day {
      MONDAY, 
      TUESDAY, 
      WEDNESDAY, 
      THURSDAY, 
      FRIDAY, 
      SATURDAY, 
      SUNDAY;
    }
    
  • Cada valor es una constante y va en mayúsculas
Entrada/Salida y Streams en Java

Usar Enums en un programa

  • Ejemplo: asignar e imprimir un valor de Enum
    public class EnumExample {
      public static void main(String[] args) {
          Day today = Day.WEDNESDAY; // Assigning an Enum value
          System.out.println("Today is: " + today);
      }
    }
    
  • Resultado:
    Today is: WEDNESDAY
    
Entrada/Salida y Streams en Java

Recorrer valores de un Enum

  • Usa .values() para obtener todos los valores de un Enum
  • Usa .ordinal() para obtener la posición del elemento
  • Reutilicemos el Enum Day definido antes como ejemplo:
    for (Day d : Day.values()) {
      System.out.println(d);
      System.out.print(
      " is at index " + d.ordinal());
    }
    
  • Este programa mostrará todos los valores definidos en el 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
    
Entrada/Salida y Streams en Java

Enum con métodos

  • Los Enums pueden tener métodos para añadir funcionalidad
enum Status {
    SUCCESS("Operation successful"),
    ERROR("An error occurred");

    private String message;
    Status(String message) {
        this.message = message;
    }
    public String getMessage() {
        return message;
    }
}
Entrada/Salida y Streams en Java

Enum con métodos

  • Ejemplo de uso del Enum llamado 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());
    }
}
  • Resultado:
Status: SUCCESS
Message: Operation successful
Entrada/Salida y Streams en Java

¡Vamos a practicar!

Entrada/Salida y Streams en Java

Preparing Video For Download...