English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В Java枚举 (enum) это тип данных, который хранит набор постоянных значений. Вы можете использовать枚举 для хранения фиксированных значений, таких как дни недели, месяцы года и т.д.
Вы можете использовать ключевое слово enum определениеEnumeration,следом заEnumeration имя -
enum Days { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
Enumeration подобна классу и может содержать переменные, методы (только конкретные методы) и конструкторы.
Предположим, что мы используем значение элемента в枚举е
enum Scoters { ACTIVA125(80000), ACTIVA5G(70000), ACCESS125(75000), VESPA(90000), TVSJUPITER(75000); }
Чтобы определить конструктор, сначала объявите переменную экземпляра для сохранения значения элемента.
private int price;
Затем, объявите параметризованный конструктор для инициализации созданных переменных экземпляра.
Scoters (int price) { this.price = price; }
Инициализируйте枚举 с помощью значений другого枚举.
Объявите необходимые枚举 в качестве переменных экземпляра.
Инициализируйте его с помощью параметризованного конструктора.
import java.util.Scanner; enum State{ Telangana, Delhi, Tamilnadu, Karnataka, Andhrapradesh } enum Cities { Hyderabad(State.Telangana), Delhi(State.Delhi), Chennai(State.Tamilnadu), Banglore(State.Karnataka), Vishakhapatnam(State.Andhrapradesh); //Переменные экземпляра private State state; //Конструктор инициализирует переменные экземпляра Города (State state) { this.state = state; } //Статический метод для отображения страны/региона public static void display(int model){ Cities constants[] = Cities.values(); System.out.println("Государство: " + constants[model] + " находится в " + constants[model].state); } } public class EnumerationExample { public static void main(String args[]) { Cities constants[] = Cities.values(); System.out.println("Значение констант:"); for(Cities d: constants) { System.out.println(d.ordinal() + ": " + d); } System.out.println("Выберите одну модель:"); Scanner sc = new Scanner(System.in); int model = sc.nextInt(); //Вызов статического метода энумерации Cities.display(model); } }
Результат вывода
Значение констант: 0: Hyderabad 1: Delhi 2: Chennai 3: Bangalore 4: Vishakhapatnam Выберите одну модель: 2 Государство: Ченнаи находится в Tamilnadu