枚举类使用-常量
一、简单demo
public enum Explain {
/**
* 未知事件
*/
CUSTOM_UNKONWN("", "未知事件"),
/**
* 新增成功
*/
INSERT_SUCCESS("200", "新增成功"),
/**
* 修改成功
*/
UPDATE_SUCCESS("200", "修改成功"),
/**
* 删除成功
*/
DELETE_SUCCESS("200", "删除成功"),
/**
* 关联成功
*/
RELEVANCE_SUCCESS("200", "关联成功");
public static Explain fromStrByName(String name) {
if (name == null || "".equals(name.trim())) {
return CUSTOM_UNKONWN;
}
//不变异原始字串-如果传递一个空字符串,它将返回一个空字符串。
name = name.toUpperCase();
try {
return Explain.valueOf(name);
} catch (Exception ex) {
return CUSTOM_UNKONWN;
}
}
Explain(String name, String describe) {
this.name = name;
this.describe = describe;
}
private String name;
private String describe;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
}
二、封装思想
使用枚举类解决部分常量问题
public interface IResultCode extends Serializable {
String getMessage();
int getCode();
}
枚举类封装信息
public enum ResultCode implements IResultCode {
SUCCESS(200, "操作成功"),
FAILURE(400, "业务异常"),
UN_AUTHORIZED(401, "请求未授权"),
REPEAT_LOGIN(4010, "重复登录"),
NOT_FOUND(404, "404 没找到请求"),
MSG_NOT_READABLE(400, "消息不能读取"),
METHOD_NOT_SUPPORTED(405, "不支持当前请求方法"),
MEDIA_TYPE_NOT_SUPPORTED(415, "不支持当前媒体类型"),
REQ_REJECT(403, "请求被拒绝"),
INTERNAL_SERVER_ERROR(500, "服务器异常"),
DUPLICATE_KEY_ERROR(555, "数据重复"),
PARAM_MISS(400, "缺少必要的请求参数"),
PARAM_TYPE_ERROR(400, "请求参数类型错误"),
PARAM_BIND_ERROR(400, "请求参数绑定错误"),
PARAM_VALID_ERROR(400, "参数校验失败");
final int code;
final String message;
public int getCode() {
return this.code;
}
public String getMessage() {
return this.message;
}
private ResultCode(int code, String message) {
this.code = code;
this.message = message;
}
}
别说差点,差点就是永远
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理