1,目前有工作单位和地区两个枚举类
2. 一个工作单可以管理多个地区
3,我在单位枚举里增加了地区枚举的数组
4. 那我如何写 根据 工作单位获取地区 的方法?
写一个类似getValues()方法,根据传入的工作单位名称获取value值,大致如下。
https://blog.csdn.net/en_joker/article/details/85044179
看看是不是要这样的效果,运行结果已给出;如符合需求请点击下采纳
public enum TypeEnum {
ONE_TYPE(1, "1"),
TWO_TYPE(2, "2"),
THERE_TYPE(3, "4");
private int key;
private String label;
TypeEnum(int key, String label) {
this.key = key;
this.label = label;
}
public String getLabel() {
return label;
}
public int getKey() {
return key;
}
}
public enum CityEnum {
STRING_STATUS(1, new TypeEnum[]{
TypeEnum.ONE_TYPE,
TypeEnum.TWO_TYPE,
TypeEnum.THERE_TYPE,
});
private int key;
private TypeEnum[] label;
CityEnum(int key, TypeEnum[] label) {
this.key = key;
this.label = label;
}
public TypeEnum[] getLabel() {
return label;
}
public int getKey() {
return key;
}
}
public static void main(String[] args) {
for (CityEnum cityEnum : CityEnum.values()){
CityEnum key = cityEnum;
TypeEnum[] values = key.getLabel();
System.out.println("cityEnum->key=" + cityEnum);
for (TypeEnum typeEnum: values){
System.out.println("cityEnum->typeEnum-key=" + typeEnum);
System.out.println("cityEnum->typeEnum-value=" + typeEnum.getLabel());
}
}
}
import java.util.HashMap;
import java.util.Map;
/**
@Version 1.0
**/
public enum TestEnum {
TEST_ENUMS_ONE("1", "数字一"),
TEST_ENUMS_TWO("2", "数字二");
private String code;
private String codeName;
TestEnum(String code, String codeName) {
this.code = code;
this.codeName = codeName;
}
public static Map fromDetail(String code) {
for (ScUserInfoRole extraWorkPeriod : ScUserInfoRole.values()) {
if (extraWorkPeriod.getCode().equals(code)) {
Map detail = new HashMap();
detail.put("code", extraWorkPeriod.getCode());
detail.put("codeName", extraWorkPeriod.getCodeName());
return detail;
}
}
return null;
}
public String getCode() {
return this.code;
}
public String getCodeName() {
return this.codeName;
}
}
用的时候 直接 TestEnum.TEST_ENUMS_ONE.getCode()或者TestEnum.TEST_ENUMS_ONE.getCodeName()