Java中的枚举(枚举)是一种存储一组常量值的数据类型。您可以使用枚举来存储固定值,例如一周中的天,一年中的月等。enum Days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
您还可以使用自定义值定义一个枚举来声明常量。但是您需要一个实例变量,一个构造函数和一个getter方法来返回值。
枚举带开关盒
让我们创建一个包含5个常量的枚举,这些常量代表5个不同scoters的模型,其价格为值,如下所示:enum Scoters {
//带值的常量
ACTIVA125(80000), ACTIVA5G(70000), ACCESS125(75000), VESPA(90000), TVSJUPITER(75000);
//实例变量
private int price;
//Constructor to initialize the 实例变量
Scoters(int price) {
this.price = price;
}
//静态显示价格的方法
public static void getPrice(int model){
Scoters constants[] = Scoters.values();
System.out.println("Price of: "+constants[model]+" is "+constants[model].price);
}
}
以下Java程序使用切换案例检索所有车辆的价格。
示例public class EnumExample {
Scoters sc;
public EnumExample(Scoters sc) {
this.sc = sc;
}
public void displayPrice() {
switch (sc) {
case Activa125:
Scoters.getPrice(0);
break;
case Activa5G:
Scoters.getPrice(1);
break;
case Access125:
Scoters.getPrice(2);
break;
case Vespa:
Scoters.getPrice(3);
break;
case TVSJupiter:
Scoters.getPrice(4);
break;
default:
System.out.println("Model not found");
break;
}
}
public static void main(String args[]) {
EnumExample activa125 = new EnumExample(Scoters.ACTIVA125);
activa125.displayPrice();
EnumExample activa5G = new EnumExample(Scoters.ACTIVA5G);
activa5G.displayPrice();
EnumExample access125 = new EnumExample(Scoters.ACCESS125);
access125.displayPrice();
EnumExample vespa = new EnumExample(Scoters.VESPA);
vespa.displayPrice();
EnumExample tvsJupiter = new EnumExample(Scoters.TVSJUPITER);
tvsJupiter.displayPrice();
}
}
输出结果Price of: ACTIVA125 is 80000
Price of: ACTIVA5G is 70000
Price of: ACCESS125 is 75000
Price of: VESPA is 90000
Price of: TVSJUPITER is 75000