您的位置:首页 > 编程语言 > Java开发

Java 中对于枚举双值的使用

2016-07-22 09:15 411 查看


 转成键值对或者是map 的形式;

键值对的类

public class Kav {

/**
* 键
*/
private String key;

/**
* 值
*/
private String value;

public String getKey() {
return key;
}

public void setKey(String key) {
this.key = key;
}

public String getValue() {
return value;
}

public void setValue(String value) {
this.value = value;
}
}


枚举:

public enum AprrovalStatus {
COMMITED(1L, "待审批"),
APPROVALED(2L, "已审批通过"),
REJECTED(3L, "已拒绝"),
SYNCHRONIZED(4L, "已同步"),
EXPIRED(5L,"已失效"),
TEMPORARY(6L,"暂存"),
REMOVE(7L,"撤回");

private final Long key;
private final String value;

public Long getKey() {
return key;
}

public String getValue() {
return value;
}

AprrovalStatus(Long key, String value) {
this.key = key;
this.value = value;
}

/**
* 根据key获取value
*
* @param key
*            : 键值key
* @return String
*/
public static String getValueByKey(String key) {
AprrovalStatus[] enums = AprrovalStatus.values();
for (int i = 0; i < enums.length; i++) {
if (enums[i].getKey().equals(key)) {
return enums[i].getValue();
}
}
return "";
}

/**
* 转换为'KAV'列表
*
* @return List<Kav>
*/
public static List<Kav> toKavs() {
List<Kav> l_kavs = new ArrayList<Kav>();
AprrovalStatus[] enums = AprrovalStatus.values();
for (int i = 0; i < enums.length; i++) {
Kav kav = new Kav();
kav.setKey(enums[i].getKey().toString());
kav.setValue(enums[i].getValue());
l_kavs.add(kav);
}
return l_kavs;
}

/**
* 转换为MAP集合
*
* @returnMap<String, String>
*/
public static Map<String, String> toMap() {
Map<String, String> map = new HashMap<String, String>();
AprrovalStatus[] enums = AprrovalStatus.values();
for (int i = 0; i < enums.length; i++) {
map.put(enums[i].getKey().toString(), enums[i].getValue());
}
return map;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: