Java 反射取出Enum所有常量的属性值
来源:互联网 发布:网络地理位置 编辑:程序博客网 时间:2024/06/06 02:25
publicclass TestGetEnum {
publicvoid printEnumValues(Class c) {
if (c.isEnum()) {
try {
Object[] objs = c.getEnumConstants();
for (Object obj : objs) {
Method m = obj.getClass().getDeclaredMethod("values", null);
Object[] result = (Object[]) m.invoke(obj, null);
System.out.println(result);
List> list = Arrays.asList(result);
Iterator> it = list.iterator();
while (it.hasNext()) {
Object objOne = it.next();
Field code = objOne.getClass().getDeclaredField("code");
Field codeDesc = objOne.getClass().getDeclaredField("codeDesc");
Field priority = null;
try {
priority = objOne.getClass().getDeclaredField("priority");
} catch (Exception e) {
priority = null;
}
code.setAccessible(true);
codeDesc.setAccessible(true);
if (priority != null) {
priority.setAccessible(true);
}
System.out.print(code.getName() + ":" + code.get(objOne) + "," + codeDesc.getName() + ":"
+ codeDesc.get(objOne));
if (priority != null) {
System.out.print("," + priority.getName() + ":" + priority.get(objOne));
}
System.out.println();
}
break;
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
publicstaticvoid main(String[] args) {
TestGetEnum t = new TestGetEnum();
t.printEnumValues(EducationLevelEnum.class);
}
}
publicenum EducationLevelEnum {
DEFAULT("0","------",0),
HIGHSCHOOLDIPLOMA("1","High School Diploma",100),
ASSOCIATEDEGREE("5","Associate Degree",150),
BACHELORSDEGREE("2","Bachelors Degree",200),
MASTERSDEGREE("3","Masters Degree",300),
DOCTORATE("4","Doctorate",400);
EducationLevelEnum(String code, String codeDesc, Integer priority) {
this.code = code;
this.codeDesc = codeDesc;
this.priority = priority;
}
private String code;
private String codeDesc;
private String kind=KindEnum.EDUCATIONLEVEL.getKindName();
EducationLevelEnum(String code, String codeDesc) {
this.code = code;
this.codeDesc = codeDesc;
}
private Integer priority;
public Integer getPriority() {
returnpriority;
}
public String getCode() {
returncode;
}
public String getCodeDesc() {
returncodeDesc;
}
public String getKind() {
returnkind;
}
}
- Java 反射取出Enum所有常量的属性值
- 通过java的反射从list中取出对象从而取出属性值
- 用Java反射输出对象的所有属性的值
- 取出session中的所有属性与值的方法
- 使用反射读取enum的属性
- java反射机制取出model类的所有变量,以及value
- 利用JAVA反射技术查找一个类的所有属性
- 利用JAVA反射技术查找一个类的所有属性
- 利用JAVA反射技术查找一个类的所有属性
- java 反射获取类中所有的属性(含父类)
- 取出目录下面所有.java的文件
- java HashMap取出所有的键
- 通过java反射机制获取该类的所有属性类型、值、
- 通过java反射机制获取该类的所有属性类型、值
- 使用java反射技术完成对象所有属性值的输出
- 通过java反射机制获取该类的所有属性类型、值、
- 使用java反射技术完成对象所有属性值的输出
- 利用java反射来实现输出对象的所有属性值
- 突然想到几句
- fastcgi_pass unix:/tmp/php-cgi.sock;
- 堆排序
- 迅雷的工作原理 [揭密迅雷]
- linux实用命令汇总
- Java 反射取出Enum所有常量的属性值
- 使用perl Win32::ODBC模块,让我蛋疼的经历。
- 表字段的中文属性
- WebPart开发
- 请确保此文件可访问并且是一个有效的程序集或COM组件
- Makefile的obj-y 和 obj-m
- 一步一步识别验证码
- STL vector 动态数组(容器) 2011.04.14
- 使用Shockwave Flash object