转换枚举

来源:互联网 发布:学网络编程 编辑:程序博客网 时间:2024/05/17 03:20
/**
 * 年级枚举类
 * @author YAC
 * @date 2017年7月12日
 * 年级:1:一年级,2:二年级,3:三年级,4:四年级,5:五年级,6:六年级。
 */
public enum GradeLevel {
ONE_GRADE(1,"ONE_GRADE"),
TWO_GRADE(2,"TWO_GRADE"),
THIRD_GRADE(3,"THIRD_GRADE"),
FOUR_GRADE(4,"FOUR_GRADE"),
FIVE_GRADE(5,"FIVE_GRADE"),
SIX_GRADE(6,"SIX_GRADE");


private Integer value;
private String dispalyName;

private GradeLevel(Integer value, String dispalyName) {
this.value = value;
this.dispalyName = dispalyName;
}

public Integer getValue() {
return value;
}

public String getDispalyName() {
return dispalyName;
}

/**
* 将切割好的Integer[] degreeTypes转换为要求的数据格式:["UNDERGRADUATE","POSTSECONDARY"]
* @author YAC
* @date 2017年7月13日
* @param integers
* @return
*/
public static String[] GradeLevelsIntegerArrayToStringArray(Integer[] integers){
String[] strs;
if(integers!=null){
strs = new String[integers.length];
}else{
strs = new String[0];
}

for (int i = 0; i < strs.length; i++) {
if (integers[i]==GradeLevel.ONE_GRADE.getValue()) {
strs[i] = GradeLevel.ONE_GRADE.getDispalyName();
}else if (integers[i]==GradeLevel.TWO_GRADE.getValue()) {
strs[i] = GradeLevel.TWO_GRADE.getDispalyName();
}else if (integers[i]==GradeLevel.THIRD_GRADE.getValue()) {
strs[i] = GradeLevel.THIRD_GRADE.getDispalyName();
}else if (integers[i]==GradeLevel.FOUR_GRADE.getValue()) {
strs[i] = GradeLevel.FOUR_GRADE.getDispalyName();
}else if (integers[i]==GradeLevel.FIVE_GRADE.getValue()) {
strs[i] = GradeLevel.FIVE_GRADE.getDispalyName();
}else if (integers[i]==GradeLevel.SIX_GRADE.getValue()) {
strs[i] = GradeLevel.SIX_GRADE.getDispalyName();
}else {
strs[i] = "";
}
}
return strs;
}

/**
* 将前端参数["UNDERGRADUATE","POSTSECONDARY"]转换为Integer[] gradeLevels
* @author YAC
* @date 2017年7月13日
* @param strs
* @return
*/
public static Integer[] GradeLevelsStringArrayToIntegerArray(String[] strs){
Integer[] integers = new Integer[strs.length];
for (int i = 0; i < integers.length; i++) {
if (!StringUtils.isEmpty(strs[i]) && GradeLevel.ONE_GRADE.getDispalyName().equals(strs[i])) {
integers[i]=GradeLevel.ONE_GRADE.getValue();
}else if (!StringUtils.isEmpty(strs[i]) && GradeLevel.TWO_GRADE.getDispalyName().equals(strs[i])) {
integers[i]=GradeLevel.TWO_GRADE.getValue();
}else if (!StringUtils.isEmpty(strs[i]) && GradeLevel.THIRD_GRADE.getDispalyName().equals(strs[i])) {
integers[i]=GradeLevel.THIRD_GRADE.getValue();
}else if (!StringUtils.isEmpty(strs[i]) && GradeLevel.FOUR_GRADE.getDispalyName().equals(strs[i])) {
integers[i]=GradeLevel.FOUR_GRADE.getValue();
}else if (!StringUtils.isEmpty(strs[i]) && GradeLevel.FIVE_GRADE.getDispalyName().equals(strs[i])) {
integers[i]=GradeLevel.FIVE_GRADE.getValue();
}else if (!StringUtils.isEmpty(strs[i]) && GradeLevel.SIX_GRADE.getDispalyName().equals(strs[i])) {
integers[i]=GradeLevel.SIX_GRADE.getValue();
}else {
integers[i]=null;
}
}
return integers;
}

}

/**
* 返回jsonArray
* @author weiyx
* @param values 例: 1,2,3
* @return
*/
public static JSONArray getDisplayNames(String values){
JSONArray jsonArray = new JSONArray();
if(!StringUtils.isEmpty(values)){
if(values.contains(",")){
String[] strArr = values.split(",");
for(String str : strArr){
jsonArray.add(getDisplayName(Integer.valueOf(str)));
}
}else{
jsonArray.add(getDisplayName(Integer.valueOf(values)));
}
}
return jsonArray;
}