enum枚举类的使用示例

public enum OrderStatus {
// 枚举实例,调用构造方法传入参数
PENDING(0, "待支付"),
PAID(1, "已支付"),
SHIPPED(2, "已发货"),
COMPLETED(3, "已完成"),
CANCELLED(-1, "已取消");

// 成员变量
private final int code;
private final String desc;

// 构造函数(必须私有,默认就是private)
OrderStatus(int code, String desc) {
this.code = code;
this.desc = desc;
}

// Getter方法
public int getCode() { return code; }
public String getDesc() { return desc; }

// 根据code查找枚举(常用静态方法)
public static OrderStatus fromCode(int code) {
for (OrderStatus status : OrderStatus.values()) {
if (status.code == code) {
return status;
}
}
return null;
}
}

// 使用示例
public class Main {
public static void main(String[] args) {
OrderStatus status = OrderStatus.PAID;
System.out.println("状态描述:" + status.getDesc()); // 输出:已支付
System.out.println("状态码:" + status.getCode()); // 输出:1

// 转换:从数据库读取的code转为枚举
OrderStatus dbStatus = OrderStatus.fromCode(2);
System.out.println(dbStatus.getDesc()); // 输出:已发货
}
}