tak jak w pytaniu.
Zwykle wykorzystywane jak chcesz ograniczyć dziedzine zmiennych do określonych wartości.
We should use enum when we know all possible values of a variable at compile time or design time, though we can add more values in future as and when we identify them.
https:// howtodoinjava.com/core-java/enum/guide-for-understanding-enum-in-java/
Jako implementacja wzorca Singleton
https://stackoverflow.com/questions/70689/what-is-an-efficient-way-to-implement-a-singleton-pattern-in-java
W sumie to enum jako singleton to ciekawy pomysł, nawet było o tym Effective Java, tylko że singletony to na ogół nienajlepsza rzecz :D
Jako kody błędu, zwracasz zamiast stringa.
Status zadania: rozpoczęte, zakończone, anulowane.
Można to też zrobić jako string, ale enum da analizującemu kod listę wszystkich dopuszczalnych wartości. Wprowadza porządek i automatyczną dokumentację kodu. Zwiększa czytelność.
Można też enum'em w pewnych przypadkach zastąpić switch .. case
. Generalnie enum to klasa, w której można zawrzeć listę nazwanych obiektów. Przykład jednego i drugiego: tutaj