常量类的枚举
来源:8-4 创建订单-状态枚举与自测
weixin_慕少5379513
2023-02-11 21:30:56
public static OrderStatusEnum codeOf(int code) throws MallExeception {
for (OrderStatusEnum orderStatusEnum : values()) {
if (orderStatusEnum.getCode() == code) {
return orderStatusEnum;
}
}
throw new MallExeception(ExceptionEnum.NO_ENUM);
}为啥这段的for是遍历,values是什么来的?
还有这个为什么是枚举类而不是接口,啥时候定义为枚举类,啥时候定义为接口?
相关截图:

1回答
好帮手慕小小
2023-02-12
同学你好,枚举的values()方法用来将枚举类转变为枚举类型的数组,故此处使用增强for循环来进行遍历。增强for循环的格式:
for(元素数据类型 变量 : 数组或者Collection集合) {
//使用变量即可,该变量就是数据或集合中的元素
}在实际开发中我们会遇到一些状态表示的场景,此时推荐使用枚举。举例:订单的状态包括未付款、已付款、已发货和确认收货,如果使用0表示未付款,1表示已付款,2表示已发货,3表示确认收货,使用枚举定义可读性好更加—目了然。
祝学习愉快~