1.定义一个Color的枚举类型
enum Color{
RED,GREEN,BLUE;
}
2.取出一个枚举类型
public static void main(String[] args) {
Color c=Color.RED;
System.out.println(c);
}
打印结果为
RED
3.使用foreach输出枚举内容
for(Color c1:Color.values()){
System.out.println(c1);
}
打印结果为:
RED
GREEN
BLUE
4.使用switch进行判断
switch(color){
case RED:{
System.out.println("红颜色");
break;
}
case GREEN:{
System.out.println("绿颜色");
break;
}
case BLUE:{
System.out.println("蓝颜色");
break;
}
}
运行结果为:
红颜色
绿颜色
蓝颜色
5.取得枚举信息
for(Color c:Color.values()){
System.out.println(c.ordinal()
+"-->"+c.name()+c.getName());
}
打印结果为:
0-->RED
1-->GREEN
2-->BLUE
从结果中可以看出Enum类自动为每个枚举类型自动编号,而且下标从0开始。
6.通过构造方法为每个枚举对象的属性赋值
每个枚举类中都有若干个对象,当然每个枚举对象也可以包含若干个属性,可以通过构造方法为每个属性赋值
代码示例:
enum Color{
RED("红色"),GREEN("绿色"),BLUE("蓝色");
private Color(String name) {
this.setName(name);
}
private String name;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
}
public class ConstructorEnum {
public static void main(String[] args) {
for(Color c:Color.values()){
System.out.println(c.ordinal()
+"-->"+c.name()+c.getName());
}
}
}
以上代码在定义的Color类中设置了一个name属性,并且通过构造方法设置name属性的内容,因为Color中已经明确的写出了一个有参数的构造方法,所以在声明枚举时就必须调用这个构造方法,这样在定义枚举内容时就必须使用如下的语句形式:
RED("红色"),GREEN("绿色"),BLUE("蓝色");