Introduktion till Enums

Input/Output och strömmar i Java

Alex Liu

Software Development Engineer

Varför använda Enums?

  • Enums definierar en fast uppsättning värden
    • Exempel: Veckodagar, statuskoder
  • Förbättrar kodens läsbarhet och underhållbarhet
  • Förhindrar ogiltiga värden i variabler
  • Obs: Ingen import behövs, eftersom Enums ingår i Javas standardbibliotek
Input/Output och strömmar i Java

Definiera en Enum

  • Deklarera en Enum med nyckelordet enum
    enum Day {
      MONDAY, 
      TUESDAY, 
      WEDNESDAY, 
      THURSDAY, 
      FRIDAY, 
      SATURDAY, 
      SUNDAY;
    }
    
  • Varje värde är en konstant och skrivs med versaler
Input/Output och strömmar i Java

Använda Enums i ett program

  • Exempel: Tilldela och skriv ut ett Enum-värde
    public class EnumExample {
      public static void main(String[] args) {
          Day today = Day.WEDNESDAY; // Assigning an Enum value
          System.out.println("Today is: " + today);
      }
    }
    
  • Utdata:
    Today is: WEDNESDAY
    
Input/Output och strömmar i Java

Iterera genom Enum-värden

  • Använd .values() för att hämta alla värden i en Enum
  • Använd .ordinal() för att returnera elementets position
  • Vi återanvänder den tidigare definierade Day Enum som exempel:
    for (Day d : Day.values()) {
      System.out.println(d);
      System.out.print(
      " is at index " + d.ordinal());
    }
    
  • Programmet skriver ut alla värden definierade i 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 och strömmar i Java

Enum med metoder

  • Enums kan ha metoder för utökad funktionalitet
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 och strömmar i Java

Enum med metoder

  • Exempelanvändning av Enum med namnet 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());
    }
}
  • Utdata:
Status: SUCCESS
Message: Operation successful
Input/Output och strömmar i Java

Nu kör vi en övning!

Input/Output och strömmar i Java

Preparing Video For Download...