enum

来源:互联网 发布:支付宝与淘宝解绑不了 编辑:程序博客网 时间:2024/05/17 06:09



public class EnumUtil {

public static List<Integer> enumToOrdinal(Class<? extends Enum> clz){
 if(!clz.isEnum()){
 return null;
 }
 Enum[] enums=clz.getEnumConstants();
 List<Integer>  rels=new ArrayList<Integer>();
 for(Enum  en:enums){
 rels.add(en.ordinal());
 }
return rels;

}
/**
 * 将枚举中的值转换为相应的名称字符串列表
 * @param clz
 * @return
 */
public static List<String> enumToName(Class<? extends Enum> clz){
 if(!clz.isEnum()){
 return null;
 }
 Enum[] enums=clz.getEnumConstants();
 List<String>  rels=new ArrayList<String>();
 for(Enum  en:enums){
 rels.add(en.name());
 }
return rels;

}

public static Map<Integer,String> enumToMap(Class<? extends Enum> clz){
 if(!clz.isEnum()){
 return null;
 }
 Enum[] enums=clz.getEnumConstants();
 Map<Integer,String>  rels=new HashMap<Integer,String>();
 for(Enum  en:enums){
 rels.put(en.ordinal(),en.name());
 }
return rels;

}

public static List<String> enumPropToList(Class<?extends  Enum> clz ,String propName){
if(!clz.isEnum()){
return null;
}
List<String> rels;
try {
Enum[] enums=clz.getEnumConstants();
rels = new ArrayList<String>();
for(Enum  en :enums){
rels.add((String)PropertyUtils.getProperty(en, propName));
}
return  rels;
} catch (IllegalAccessException e) {

e.printStackTrace();
} catch (InvocationTargetException e) {

e.printStackTrace();
} catch (NoSuchMethodException e) {

e.printStackTrace();
}
       return null;

}



public static Map<Integer,String> enumPropToordinalMap(Class<?extends  Enum> clz ,String propName){
if(!clz.isEnum()){
return null;
}
Map<Integer,String> rels=new HashMap<Integer,String>();
try {
Enum[] enums=clz.getEnumConstants();
for(Enum  en :enums){
rels.put(en.ordinal(), (String)PropertyUtils.getProperty(en, propName));
}
return  rels;
} catch (IllegalAccessException e) {

e.printStackTrace();
} catch (InvocationTargetException e) {

e.printStackTrace();
} catch (NoSuchMethodException e) {

e.printStackTrace();
}
       return null;

}

public static Map<String,String> enumPropToMap(Class<?extends  Enum> clz ,String keyProp,String valueProp){
if(!clz.isEnum()){
return null;
}
Map<String,String> rels=new HashMap<String,String>();
try {
Enum[] enums=clz.getEnumConstants();
for(Enum  en :enums){
rels.put((String)PropertyUtils.getProperty(en, keyProp), (String)PropertyUtils.getProperty(en, valueProp));
}
return  rels;
} catch (IllegalAccessException e) {

e.printStackTrace();
} catch (InvocationTargetException e) {

e.printStackTrace();
} catch (NoSuchMethodException e) {

e.printStackTrace();
}
       return null;

}



public static Map<String,String> enumPropToNameMap(Class<?extends  Enum> clz ,String propName){
if(!clz.isEnum()){
return null;
}
Map<String,String> rels=new HashMap<String,String>();
try {
Enum[] enums=clz.getEnumConstants();
for(Enum  en :enums){
rels.put(en.name(), (String)PropertyUtils.getProperty(en, propName));
}
return  rels;
} catch (IllegalAccessException e) {

e.printStackTrace();
} catch (InvocationTargetException e) {

e.printStackTrace();
} catch (NoSuchMethodException e) {

e.printStackTrace();
}
       return null;

}


}
0 0
原创粉丝点击