Shirleydan2017
2018-12-16 17:04
采纳率: 18.2%
浏览 1.4k
已采纳

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

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

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 孤芳不自賞 2018-12-17 01:43
    已采纳

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

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • hometing218 2018-12-17 03:44

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

    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());
                }
    
            }
    
        }
    

    图片说明

    评论
    解决 无用
    打赏 举报
  • 王金铎王 2018-12-17 08:21

    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()

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题