Co to jest enum?

Enum jest typem wyliczeniowy, który służy do przechowywania wartości stałych. Przykładem wartości jakie możemy tam przechowywać są:

  • planety układy słonecznego,
  • jednostki miar,
  • dyscypliny sportu,
  • kolory,
  • możliwości płatności online w sklepie internetowym,
  • rodzaj publikacji na blogu np. artykuł, ogłoszenie lub krótki wpis.

Do deklaracji typu wyliczeniowego w Javie służy słowo kluczowe enum. Deklaracja przykładowego enuma dla kolorów wygląda następująco:

enum Colors {
    WHITE, BLACK
}

W przeciwieństwie do innych języków, typ wyliczeniowy w Javie jest bardzo dobrze rozbudowany. W Javie enum na bazuje obiektowości, dzięki czemu tworzymy klasę (tzw. enum type), i mamy do dyspozycji predefiniowane metody oraz mamy możliwość tworzenia własnych metod dla każdego enuma z osobna.

public enum Colors {
    WHITE("#ffffff"), BLACK("#000000");

    private final String hex;

    Colors(String hex) {
        this.hex = hex;
    }

    public String getHex() {
        return hex;
    }

    public static void main(String[] args) {
        System.out.println(Colors.WHITE.getHex());
    }
}

W naszym przypadku enum type to Colors. Jak można zauważyć, enum zachowuje się (prawie) jak zwykła klasa. Można tworzyć w niej własne metody oraz pola.

 

Jeśli chcesz się dowiedzieć więcej na temat enuma w Javie, zachęcam do lektury następujących materiałów:

Kamil Klimek

Od 2016 jestem programistą Java. Przez pierwsze 4 lata pracowałem jako Full Stack Java Developer. Później postanowiłem postawić nacisk na Javę, żeby jeszcze lepiej ją poznać.

Subscribe
Powiadom o
guest
3 komentarzy
najstarszy
najnowszy oceniany
Inline Feedbacks
View all comments
Tomasz
Tomasz
2 lat temu

Fajny artykuł dużo przydatnej wiedzy, dziękuję.

Michal
Michal
2 lat temu

No ok, rozumiem. Ale czym się różni od innych typów po za obiektowościa? Ceny możemy przechowywać we flotach, numery planet w intach itd.

3
0
Would love your thoughts, please comment.x