/**
*
* @author chenqian
* @date 2016年5月26日
* @TestEnum.java
* 枚举用法详解
*/
public class TestEnum {
/**
* 普通枚举
* @author chenqian
* @date 2016年5月26日
* @ColorEnum.java
*/
public enum ColorEnum{
red,green,yellow,blue;
}
/**
* 季节的枚举类
* 枚举像普通类一样可以添加属性和方法
* @author chenqian
* @date 2016年5月26日
* @SeasionEnum.java
*/
public enum SeasonEnum{
spring,summer,autumn,winter;
private final static String position="test";
public static SeasonEnum getSeason(){
if("test".equals(position)){
return spring;
}else{
return winter;
}
}
}
/**
* 性别的枚举类
* @author chenqian
* @date 2016年5月26日
* @Gender.java
*/
public enum Gender{
MAN("MAN"),WOMAN("WOMEN");
private final String value;
Gender(String value){
this.value=value;
}
public String getValue() {
return value;
}
}
/**
* 订单状态
*
* 实现带有抽象方法的枚举
*
* @author jiqinlin
*
*/
public enum OrderState {
/** 已取消 */
CANCEL {
@Override
public String getName() {
// TODO Auto-generated method stub
return "已取消";
}},
/** 待审核 */
WAITCONFIRM {public String getName(){return "待审核";}},
/** 等待付款 */
WAITPAYMENT {public String getName(){return "等待付款";}},
/** 正在配货 */
ADMEASUREPRODUCT {public String getName(){return "正在配货";}},
/** 等待发货 */
WAITDELIVER {public String getName(){return "等待发货";}},
/** 已发货 */
DELIVERED {public String getName(){return "已发货";}},
/** 已收货 */
RECEIVED {public String getName(){return "已收货";}};
public abstract String getName();
}
public static void main(String[] args) {
//枚举是一种类型,用于定义变量,以限制变量的赋值;赋值时通过“枚举名.值”取得枚举中的值
ColorEnum colorEnum = ColorEnum.blue;
switch (colorEnum) {
case red:
System.out.println("color is red");
break;
case green:
System.out.println("color is green");
break;
case yellow:
System.out.println("color is yellow");
break;
case blue:
System.out.println("color is blue");
break;
}
//遍历枚举
System.out.println("遍历ColorEnum枚举中的值");
for(ColorEnum color : ColorEnum.values()){
System.out.println(color);
}
//获取枚举的个数
System.out.println("ColorEnum枚举中的值有"+ColorEnum.values().length+"个");
//获取枚举的索引位置,默认从0开始
System.out.println(ColorEnum.red.ordinal());//0
System.out.println(ColorEnum.green.ordinal());//1
System.out.println(ColorEnum.yellow.ordinal());//2
System.out.println(ColorEnum.blue.ordinal());//3
//枚举默认实现了java.lang.Comparable接口
System.out.println(ColorEnum.red.compareTo(ColorEnum.green));//-1
//--------------------------
System.out.println("===========");
System.err.println("季节为" + SeasonEnum.getSeason());
//--------------
System.out.println("===========");
for(Gender gender : Gender.values()){
System.out.println(gender.value);
}
//--------------
System.out.println("===========");
for(OrderState order : OrderState.values()){
System.out.println(order.getName());
}
}
}
JAVA枚举详解
最新推荐文章于 2025-03-11 08:52:29 发布