产生ENUM方法
来源:互联网 发布:电影售票软件 编辑:程序博客网 时间:2024/04/27 23:53
public static void main(String arg[]){
generateAttributeEnum(Person.class);
}
public static void generateAttributeEnum(Class<?> cls) {
Field[] fields = cls.getDeclaredFields();
StringBuilder enumBuild = new StringBuilder("public enum ATTRIBUTE {\n");
StringBuilder attributeName = null;
for(Field field : fields){
if(Modifier.isStatic(field.getModifiers())) continue;
attributeName = new StringBuilder();
for (int i = 0; i < field.getName().length(); i++) {
if(Character.isUpperCase(field.getName().charAt(i))) {
attributeName.append("_"+field.getName().charAt(i));
}else{
attributeName.append(Character.toUpperCase(field.getName().charAt(i)));
}
}
enumBuild.append(" "+attributeName+"(\""+field.getName()+"\"),\n");
}
enumBuild.replace(enumBuild.lastIndexOf(","), enumBuild.lastIndexOf(",")+1, ";");
System.out.println(enumBuild.toString());
System.out.println(" public String value;");
System.out.println(" ATTRIBUTE(String value) {");
System.out.println(" this.value = value;");
System.out.println(" };");
System.out.println("};");
}
generateAttributeEnum(Person.class);
}
public static void generateAttributeEnum(Class<?> cls) {
Field[] fields = cls.getDeclaredFields();
StringBuilder enumBuild = new StringBuilder("public enum ATTRIBUTE {\n");
StringBuilder attributeName = null;
for(Field field : fields){
if(Modifier.isStatic(field.getModifiers())) continue;
attributeName = new StringBuilder();
for (int i = 0; i < field.getName().length(); i++) {
if(Character.isUpperCase(field.getName().charAt(i))) {
attributeName.append("_"+field.getName().charAt(i));
}else{
attributeName.append(Character.toUpperCase(field.getName().charAt(i)));
}
}
enumBuild.append(" "+attributeName+"(\""+field.getName()+"\"),\n");
}
enumBuild.replace(enumBuild.lastIndexOf(","), enumBuild.lastIndexOf(",")+1, ";");
System.out.println(enumBuild.toString());
System.out.println(" public String value;");
System.out.println(" ATTRIBUTE(String value) {");
System.out.println(" this.value = value;");
System.out.println(" };");
System.out.println("};");
}
0 0
- 产生ENUM方法
- [enum]ENUM通用配置方法
- Enum的toString方法
- Enum遍历方法
- Enum.IsDefined 方法
- Enum 成员方法(MSDN)
- java enum values()方法
- Enum枚举静态方法
- enum 的ordinal方法
- enum构造方法解析
- Java Enum 常用方法
- C# Enum (注意Enum.Parse方法)
- Enum.Parse 方法 (Type, String)
- Enum.Parse 方法 (Type, String)
- Enum.Parse 方法 (Type, String)
- Java.lang.Enum.ordinal()方法
- java.lang.Enum的方法
- C#枚举的不常用方法Enum.Parse&Enum.GetNames
- java多态的前置知识--对象转型
- 【38.24%】【codeforces 621E】 Wet Shark and Blocks
- 1508-张晨曦总结《2016年-10月-26日》【连续5天总结】
- Leetcode 376. Wiggle Subsequence
- unity3d关节物体连接方式 Joint 简介
- 产生ENUM方法
- 368_ EditText禁止输入中文
- 面向对象
- 127. Word Ladder-未完待续
- C++中的memset
- [js点滴]JavaScript关于函数总结
- 3080 道路规划
- Android面试指南-面霸之路06-handler及mvp架构分析、设计
- Dinic&EK模板记录