枚举是一种特殊的类,既然是类,那它也就有成员变量,成员方法,构造器。
新建枚举类public enum ResultCode{}
实际就是public class ResultCode extends enum{}
可以看出枚举也是类,只是继承了一个enum类。所以基于Java的单继承特性,枚举类不能再继承其他的类。
枚举的特殊性枚举与普通类的区别就是,它含有枚举项。
通过代码说明
public enum ResultCode {
SUCCESS(200,"成功"),
ERROR(201,"失败");
private int code;
private String msg;
private ResultCode(int code, String msg) {
this.code = code;
this.msg = msg;
}
//省略get/set方法
}
使用
public static void main(String[] args) {
//因为是常量,可以直接用类名.常量名调用
System.out.println(ResultCode.SUCCESS.getCode()+"--"+ResultCode.SUCCESS.getMsg());
}
//输出结果:200--成功
}
枚举的使用场景
一般我们在做前后端的项目时,前端来调用后端的接口,后端都会返回一个状态码,告知前端访问的情况。
例如:前端新增数据,后台会返回一个{code:200,msg:“新增成功”},前端根据返回的code和msg,就能判断操作是否成功。但是每次都去写code和msg太麻烦了,代码阅读性也不高。所以就可以使用枚举。
例如:一个SpringMVC的接口
@PostMapping("/toPut")
public ResultCode toPut(@RequestBody User user){
userService.updateUser(user);
return ResultCode.SUCCESS;
}



