关于获取枚举里数组的遍历方法

1,目前有工作单位和地区两个枚举类
2. 一个工作单可以管理多个地区
3,我在单位枚举里增加了地区枚举的数组
4. 那我如何写 根据 工作单位获取地区 的方法?
图片说明

3个回答

写一个类似getValues()方法,根据传入的工作单位名称获取value值,大致如下。
https://blog.csdn.net/en_joker/article/details/85044179

en_joker
孤芳不自賞 回复Shirleydan2017: 那你get方法改一下。
大约一年之前 回复
Shirleydan2017
Shirleydan2017 result.add((g.getEnumCities()))这里报错。添加的是string类型,要转成数组类型
大约一年之前 回复
en_joker
孤芳不自賞 回复Shirleydan2017: 报什么错?不应该是返回枚举的集合吗?
大约一年之前 回复
Shirleydan2017
Shirleydan2017 public static List getCity(String name){ List result=new ArrayList(); for (EnumGovment g : EnumGovment.values()){ if (g.getName().equals(name)){ result.add((g.getEnumCities())); } } return result; 大概是这样么?我这个报错了
大约一年之前 回复

看看是不是要这样的效果,运行结果已给出;如符合需求请点击下采纳

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;

/**

  • @Description 用户角色
  • @Author JinDuoWang
  • @Email wangjinduoliuxi@163.com
  • @Date 13:07 2018/11/30
  • @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()

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问