Enum i Java

Enum i Java är en datatyp som gör det möjligt för en variabel att anta värden av fördefinierade konstanter. 

Vad är Enum ?

Inom datorprogrammering är en så kallad Enumeration (även kallad enumerated type, enum, eller kategorisk variabel i statistik) något som används för att representera en grupp av namngivna konstanter.  Det finns även inbyggda Enumerationer i programmeringsspråket. Till exempel, Boolean är en fördefinierad enumeration som bara kan anta värdena Sant eller Falskt.

Med andra ord, om du vill ha en variabel som enbart ska kunna anta vissa förutbestämda värden, är ofta datatypen enum att föredra. Ett exempel kan vara om du vill ha en variabel som enbart kan anta årstider (vår, sommar, höst och vinter). Dessa fyra värden kan vi fördefiniera för att garantera att datatypen inte antar andra värden än de som är önskade.


Enum i Java

  • Vi skapar en Enum genom det reserverade ordet enum följt av det namn vi vill ge till vår enum.
  • Det är möjligt att deklarera en enum inuti en klass eller utanför en klass, men inte inom en metod
  • På samma sätt som för konstanter så är det praxis att vi namnger våra enum med stora bokstäver

Vi tar ett kort exempel där vi skapar ett enkelt program för de fyra olika årstiderna.

Notera, att vi använder det reserverade ordet enum istället för class.

public class EnumExempel {

    public enum Season{
        SPRING, SUMMER, FALL, WINTER              //Fördefinierade värden på variabeln Season
    }

    public static Season season = Season.SPRING;  //Skapar en datatyp av typen enum. Sätter värdet till SPRING

    public static void main (String args[]){

        System.out.println(season);               //Skriver ut SPRING
        season = Season.SUMMER;                   //Sätter värdet på season till SUMMER
        System.out.println(season);               //Skriver ut SUMMER
        season = Season.FALL;                     //Sätter värdet på season till FALL
        System.out.println(season);               //Skriver ut FALL
        season = Season.WINTER;                   //Sätter värdet på season till WINTER
        System.out.println(season);               //Skriver ut WINTER

        season =  Season.AUTUMN;                  //Kraschar programmet, AUTUMN är inte fördefinierad som tillåten variabel i Season

    }
}

Det var ett kortare exempel, för mer info om enum samt en sammanställning av användbara metoder se Oracle hemsida 


Enum för spel i Java

I vårt spel kommer vi ha en Enum med två tillstånd:

  • GAME – Tillståndet spelet ska ha när spelet körs
  • RESTART – Tillståndet spelet ska ha när det väntar på att man ska starta spelet (trycka på enter)
public static enum STATE {
        GAME,
        RESTART,
}

Tack vara enum, kan vi enkelt koda vad som ska ritas ut på spelplanen (Antingen spelet med den fallande väggen, spelaren och räknaren, eller texten som uppmanar användaren att starta spelet det vill säga, trycka på enter)

Enum Java

GAME

Enum Java

RESTART

Vad tyckte du om sidan?

Lämna gärna feedback och hjälp oss göra sidan bättre

Feedback gör oss bättre!

Lämna gärna feedback om vad du tyckte om avsnittet!