En enum, eller uppräkningstyp, är i Java en typ med en bestämd uppsättning namngivna konstanter. Den passar för värden som veckodagar, riktningar eller statusar.
enum Status {
NY, PAGAR, KLAR
}
En variabel kan deklareras som Status status = Status.NY;. Kompilatorn kontrollerar att värdet har rätt typ, till skillnad från en vanlig textsträng där exempelvis en felstavning lätt kan passera.
En enum kan även ha fält, metoder och konstruktorer. Den är alltså inte bara en lista med texter eller heltalsvärden.