13:59
Перечисления в Java
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");}

}
Категория: Java (Общие вопросы) | Просмотров: 1232 | Добавил: alex | Теги: разработка программ, enum, Java, перечисления, перечислимый тип, программист рыбинск | Рейтинг: 5.0/1