Java поддерживает перечисления. Перечисления - это список именованных констант. В Java перечисления являются объектами, поэтому поддерживают ряд методов, которые облегчают работу с ними. Примеры работы с перечислениями в Java:
//объявляем тип данных - перечисление enum Cars {VAZ, Mersedes, BMW, Audi, GAZ, Honda}; private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { //присваиваем переменной с типом перечисления константу перечисления Cars c = Cars.VAZ; //используем перечисления в опраторе switch switch(c){ case Audi: JOptionPane.showMessageDialog(null, "Машина ауди"); break; case Mersedes: JOptionPane.showMessageDialog(null, "Машина мерседес"); break; case BMW: JOptionPane.showMessageDialog(null, "Машина бмв"); break; case VAZ: JOptionPane.showMessageDialog(null, "Ведро с болтами"); break; } //преобразование строковой переменной в константу перечисления c = Cars.valueOf("BMW"); //используем перечисления в опраторе switch switch(c){ case Audi: JOptionPane.showMessageDialog(null, "Машина ауди"); break; case Mersedes: JOptionPane.showMessageDialog(null, "Машина мерседес"); break; case BMW: JOptionPane.showMessageDialog(null, "Машина бмв"); break; case VAZ: JOptionPane.showMessageDialog(null, "Ведро с болтами"); break; } //преобразование перечисления в массив констант перечисления //получаем массив перечислений. Например для обхода по циклу. Cars[] arr = Cars.values(); for(int i = 0; i < arr.length; i ++){ //используем перечисления в опраторе switch switch(arr[i]){ case Audi: JOptionPane.showMessageDialog(null, "Машина ауди"); break; case Mersedes: JOptionPane.showMessageDialog(null, "Машина мерседес"); break; case BMW: JOptionPane.showMessageDialog(null, "Машина бмв"); break; case VAZ: JOptionPane.showMessageDialog(null, "Ведро с болтами"); break; default: JOptionPane.showMessageDialog(null, "Машина не определена"); } } //выводим порядковый номер константы GAZ в перечислении Cars c = Cars.GAZ; JOptionPane.showMessageDialog(null, c.ordinal()); //сравнение констант в перечислении методом compareTo(переменная типа перечисление) if(c.compareTo(Cars.Honda) < 0){JOptionPane.showMessageDialog(null, "GAZ имеет меньший порядковый номер в перечислении чем Honda");} }
|