You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

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-konstantene 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 for himmelretningene
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) { ... } 
 
 

 

Vi kan også gi enum-konstantene verdier, som kan hentes ved behov for å presentere konstantene som tekst, tall eller andre datatyper.

Enum for ukedagene
enum Day {
	MONDAY("Mon"), TUESDAY("Tue"), WEDNESDAY("Wed"), THURSDAY("Thu"), FRIDAY("Fri"), SATURDAY("Sat"), SUNDAY("Sun");
 
	//Felt som definerer navnet på verien(e) konstantene får tildelt ovenfor
	String short;
	
 
	//Konstruktør som setter forkortelsene
	private Day (String short) {
		this.short = short;
	}
 
	// Metode for å hente verdien "short"
	public String getShort() {
		return this.short;
	}
}
 
// Vi kan da hente en string-verdi til hver av konstantene
 
Day weekday = Day.MONDAY;

System.out.println(weekday.getShort()); //Skriver ut "Mon"




  • No labels