Java中的枚举(enum)是一种存储一组常量值的数据类型。您可以使用枚举来存储固定值,例如一周中的天,一年中的月等。
您可以使用关键字 enum定义枚举,后跟枚举的名称为-enum Days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
枚举中的方法和变量
枚举类似于类,并且可以在其中包含变量,方法(仅具体方法)和构造函数。
假设我们在枚举中的元素值为-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;
//构造函数初始化实例变量
Cities(State state) {
this.state = state;
}
//显示国家/地区的静态方法
public static void display(int model){
Cities constants[] = Cities.values();
System.out.println("State of: "+constants[model]+" is "+constants[model].state);
}
}
public class EnumerationExample {
public static void main(String args[]) {
Cities constants[] = Cities.values();
System.out.println("Value of constants: ");
for(Cities d: constants) {
System.out.println(d.ordinal()+": "+d);
}
System.out.println("Select one model: ");
Scanner sc = new Scanner(System.in);
int model = sc.nextInt();
//调用枚举的静态方法
Cities.display(model);
}
}
输出结果Value of constants:
0: Hyderabad
1: Delhi
2: Chennai
3: Banglore
4: Vishakhapatnam
Select one model:
2
State of: Chennai is Tamilnadu