En enum type er en spesiell datatype som gjør det mulig å sette variabler til forhåndsdefinerte konstanter.
Det hender at vi ønsker å definere et sett med verdier på en tydelig måte, og knytte metoder til disse verdiene. Til dette har java en enum-klasse.
Enum-klasser skaper en struktur i koden og letter forståelsen av hva som utføres der enum-verdiene blir brukt.
Det vil som regel falle veldig naturlig der det passer å bruke en enum, og ofte erstatter en enum en begrenset mengde med f.eks. strenger som beskriver begreper vi mennesker kan forholde oss til. (Dette blir mer forståelig med eksemplene nedenfor)
Et typisk bruksområde for en enum er himmelretninger. Dersom vi ønsker å definere himmelretningene North, South, East og West på en annen måte enn f.eks. bare ved hjelp av forbokstaven deres, kan dette gjøres ved hjelp av en enum.
enum CardinalDirection { NORTH, SOUTH, EAST, WEST } // Himmelretningene kan nå brukes som konstanter i koden og f.eks i statements CardinalDirection dir1 = CardinalDirection.NORTH; CardinalDirection dir2 = CardinalDirection.EAST; if (dir1 == CardinalDirection.WEST) { ... }