您当前的位置: 首页 > 

qq_34412985

暂无认证

  • 1浏览

    0关注

    1061博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【枚举工具类】EnumUtils

qq_34412985 发布时间:2020-08-01 14:28:30 ,浏览量:1

   

EnumUtils 介绍 一、官方API地址

官网地址:EnumUtils.html

二、EnumUtils 常用API

 1.导入POM文件    这里使用的是:3.9 的版本,还是比较新的

  1.     org.apache.commons

  2.     commons-lang3

  3.      3.9

 2.常用API介绍

   API介绍参照下方实例

 3.API的使用

  1. enum ImagesTypeEnum {

  2. JPG, JPEG, PNG, GIF;

  3. }

   getEnum(Class enumClass, String enumName) 通过类返回一个枚举,可能返回空

ImagesTypeEnum imagesTypeEnum = EnumUtils.getEnum(ImagesTypeEnum.class, "JPG");

 

   getEnumIgnoreCase(Class enumClass, String enumName) 

   通过类返回一个枚举,enumName忽略大小写,可能返回空

ImagesTypeEnum imagesTypeEnum = EnumUtils.getEnum(ImagesTypeEnum.class, "JPG");

 

   getEnumList(Class enumClass) 通过类返回一个枚举集合

  1. List imagesTypeEnumList = EnumUtils.getEnumList(ImagesTypeEnum.class);

  2. imagesTypeEnumList.stream().forEach(

  3. imagesTypeEnum1 -> System.out.println("imagesTypeEnum1 = " + imagesTypeEnum1)

  4. );

  5. // imagesTypeEnum1 = JPG

   getEnumMap(Class enumClass) 通过类返回一个枚举map

  1. Map imagesTypeEnumMap = EnumUtils.getEnumMap(ImagesTypeEnum.class);

  2. imagesTypeEnumMap.forEach((k, v) -> System.out.println("key:" + k + ",value:" + v));

  3. // key:JPG,value:JPG

  4. // key...

   isValidEnum(Class enumClass, String enumName) 验证enumName是否在枚举中,返回true false

  1. boolean result = EnumUtils.isValidEnum(ImagesTypeEnum.class, "JPG");

  2. System.out.println("result = " + result); // result = true

  3. boolean result1 = EnumUtils.isValidEnum(ImagesTypeEnum.class, null);

  4. System.out.println("result1 = " + result1); // result1 = false

 

   isValidEnumIgnoreCase(Class enumClass, String enumName) 

   验证enumName是否在枚举中,返回true false,enumName忽略大小写

private static String[] getEnvArr(){         List enumList = EnumUtils.getEnumList(EnvEnum.class).stream().map(envEnum->envEnum.getProfile()).filter(env->!env.equals("prod")).collect(Collectors.toList());         String[] envInitArr = new String[enumList.size()];         String[] envArr = (String[]) enumList.toArray(envInitArr);         return envArr;     }

springboot的环境@Profile注解的value必须是初始化的数组,不能使用Enmu赋值,也不能使用方法将枚举的value转成数组,包括扩静态方法,暂时没有更好的方法

package com.pactera.data.governance.enums;

import java.util.List; import java.util.stream.Collectors;

import org.apache.commons.lang3.EnumUtils;

public enum EnvEnum {     DEV("dev"),     TEST("test"),     TRN("trn"),     UAT("uat"),     PROD("prod");     private String profile;          private EnvEnum(String profile) {         this.profile=profile;     }

    public String getProfile() {         return profile;     }

    public void setProfile(String profile) {         this.profile = profile;     }     public static String[] getEnvArr(){         List enumList = EnumUtils.getEnumList(EnvEnum.class).stream().map(envEnum->envEnum.getProfile()).filter(env->!env.equals("prod")).collect(Collectors.toList());         String[] envInitArr = new String[enumList.size()];         String[] envArr = (String[]) enumList.toArray(envInitArr);         return envArr;     }     }

 

关注
打赏
1653291990
查看更多评论
立即登录/注册

微信扫码登录

0.0399s