Перечисления

Версиям, предшествовавшим JDK 5, недоставало одного средства, необходимость в котором чувствовали многие программисты: перечисления. В простейшей форме перечисление — это список именованных констант. Хотя Java включает и другие средства, имеющие похожую функциональность, такие как переменные final, многим программистам все же не хватало концептуальной чистоты перечислений — в особенности потому, что они применяются во многих других языках программирования. Начиная с JDK 5, перечисления были добавлены к языку Java и, наконец, стали доступны программистам на Java.

В простейшей форме перечисления Java подобны перечислениям в других языках. Однако это сходство поверхностно. В языках вроде С++ перечисления просто представляют собой списки целочисленных констант. В Java перечисления определяют тип класса. За счет реализации перечислений в виде классов сама концепция перечисления значительно расширяется. Например, в Java перечисления могут иметь конструкторы, методы и переменные-экземпляры. Таким образом, хотя воплощения перечислений пришлось ждать несколько лет, реализация их в Java стоила того.