1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > JAVA中常量使用常量类或者常量接口还是使用枚举 错误代码和中文可变信息的枚举实现

JAVA中常量使用常量类或者常量接口还是使用枚举 错误代码和中文可变信息的枚举实现

时间:2023-10-01 14:03:33

相关推荐

JAVA中常量使用常量类或者常量接口还是使用枚举 错误代码和中文可变信息的枚举实现

文章目录

关于“JAVA中常量使用常量类或者常量接口还是使用枚举”,已有定论-使用枚举,原因就不再展开了。

借助java枚举,可以在定义错误名称和代码的同时,定义中文描述信息,但是实际应用中,往往需要在标准错误信息中增加一些可变信息。代码实现如下。

调用实例

@Testvoid contextLoads() {String desc = MsgErr.DB_WRITE.getDesc("是否不唯一?");System.out.println("desc = " + desc);desc=MsgErr.INPUT_INVALID.getDesc();System.out.println("desc = " + desc);desc=MsgErr.INPUT_INVALID.getDesc("字典类型");System.out.println("desc = " + desc);}

desc = 保存数据失败!(注:是否不唯一?)desc = 输入参数无效,无法处理!desc = 输入参数[字典类型]无效,无法处理!

代码

package mon.enums;import io.swagger.annotations.ApiModel;/*** 枚举:错误信息* <pre>*中文信息中可定义字符串格式化转换符,获取中文信息时可以添加自定义信息* </pre>* @author MuYi* @version 1.0* @date /4/7 17:33**/@ApiModel(value = "接口MsgErr", description = "枚举:错误信息")public enum MsgErr {/*** 输入参数[%s]为空,无法处理!*/INPUT_NULL(0, "输入参数[%s]为空,无法处理!"),/*** 输入参数[%s]无效,无法处理!*/INPUT_INVALID(1, "输入参数[%s]无效,无法处理!"),/*** 读取数据时发生错误*/DB_READ(2, "读取数据时发生错误!"),/*** 保存数据失败(数据是否不唯一?、校验是否有误?)*/DB_WRITE(3, "保存数据失败!");private final String desc;private final Integer value;/*** 获得中文信息。如果包含字符串格式化转换法,自动移除** @return 中文信息*/public String getDesc() {return desc.contains("[%s]") ?desc.replace("[%s]", "") : desc;}/*** 获得中文信息。* <pre>*如果包含字符串格式化转换法,自动替换为输入参数*不含字符串格式化转换法,在中文信息尾部添加输入参数* </pre>** @param params 中文信息附加信息* @return 中文信息*/public String getDesc(Object params) {return desc.contains("[%s]") ?String.format(desc, params) :String.format("%s(注:%s)", desc, params);}public Integer getValue() {return value;}private MsgErr(Integer value, String desc) {this.desc = desc;this.value = value;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。