是什么
枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型。之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。
枚举的基础使用
❉使用enum关键字来定义枚举类
❉values():返回enum 实例的数组,而且该数组中的元素严格保持在enum 中声明时的顺序。
❉name():返回实例名。
❉ordinal():返回实例声明时的次序,从0开始。
❉getDeclaringClass():返回实例所属的enum 类型。
❉注意:enum 不可以继承另外一个类,当然,也不能继承另一个enum 。
使用示例
public class EnumTest {
//声明枚举number
enum number{one,two,three,four};
public static void main(String[] args) {
//声明枚举引用量并赋值
number one = number.one;
number two = number.two;
//常用方法演示
System.out.println(one);
System.out.println("转换成字符串"+one.toString());
System.out.println("返回枚举类型数组"+one.values());
System.out.println(two.values()[1]);
System.out.println(number.values()[1]);
System.out.println("返回下标值:"+one.ordinal());
System.out.println("返回当前类型:"+one.getDeclaringClass());
}
}
交通灯案例
public class TrafficLight {
//枚举 enum声明 可以声明在类的外部 也可声明在类的内部
enum Single{red,yellow,green};
public static String getTrafficLight(Single single) {
String string = "信号灯故障";
switch(single){
case red:
string = "红灯停";
break;
case yellow:
string = "黄灯等一等";
break;
case green:
string="绿灯行";
break;
default:
break;
}
return string;
}
public static void main(String[] args) {
Single red=Single.red;
Single yellow=Single.yellow;
System.out.println(getTrafficLight(red));
System.out.println(getTrafficLight(yellow));
System.out.println(getTrafficLight(Single.green));
}
}