JAVA中定义常量的3种方式
2015-03-13 17:38
771 查看
1、最古老的
2、改进版的
3、枚举版(好处显而易见,既可以获取code又能获取汉字),以后定义常量采用此方法
调用方式:
根据枚举类型和编码获取code的描述:
//未处理 public static final int PROCESS_STATUS_UNTREATED = 0; //已接收 public static final int PROCESS_STATUS_ACCPECTED = 1; //已处理 public static final int PROCESS_STATUS_PROCESSED = 2;
2、改进版的
public static final class PROCESS_STATUS{ //未处理 public static final int UNTREATED = 0; //已接收 public static final int ACCPECTED = 1; //已处理 public static final int PROCESSED = 2; }
3、枚举版(好处显而易见,既可以获取code又能获取汉字),以后定义常量采用此方法
public interface KeyValueEnum{ Object getCode(); Object getDesc(); }
public static enum PROCESS_STATUS implements KeyValueEnum{ UNTREATED(0,"未处理"), ACCPECTED(1,"已接收"), PROCESSED(2,"已处理"); private Integer code; private String desc; private PROCESS_STATUS(Integer key , String value){ this.code = key; this.desc = value; } @Override public Integer getCode() { return code; } @Override public String getDesc() { return desc; } }
调用方式:
//获取编码 PROCESS_STATUS.UNTREATED.getCode(); //获取描述 PROCESS_STATUS.UNTREATED.getDes();
根据枚举类型和编码获取code的描述:
public static <T extends Enum<T> & KeyValueEnum> String getEnumValue(Class<T> clazz , Object codeValue) { String result = null; T[] enums = clazz.getEnumConstants(); for(T obj : enums){ if(obj.getCode().equals(codeValue)){ result = String.valueOf(obj.getDesc()); break; } } return result; }
相关文章推荐
- Java 定义常量的几种方式
- Java中定义常量几种方式
- Javascript学习笔记:3种定义函数的方式
- Java开发中有时候用十六进制定义常量有什么好处?什么时候考虑使用十六进制?
- Java常量的定义
- 如何在Java中定义常量(Constant)
- java中定义常量方法介绍
- JavaWeb如何定义Map常量
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
- Java中使用匿名内部类创建多线程的3种方式
- java 执行sql脚本的3种方式 (ant,ibatis,ScriptRunner)
- 【Java基础】线程笔记——创建线程的3种方式
- Java变量类型识别的3种方式
- 各语言函数定义方式(oc/java/C++/python等)
- 点评阿里JAVA手册之编程规约(命名风格、常量定义、代码风格、控制语句、注释规约)
- Java移位运算符定义常量
- java中定义常量
- Java常量定义需要注意的两点
- 定义常量的方式
- Java常量的定义