hutool的EnumUtil工具类实践【持续更新】
文章目录
- 背景
- 案例素材
- 枚举
- 一、获取枚举list值
- 1、方式一、stream遍历
- 2、方式二、hutool的EnumUtil
背景
在实际项目中,会有各种类型的映射,通过枚举实现,若使用hutool包,会让过程更加简单,记录下来,方便备查。
案例素材
枚举
定义支付方式枚举【PayTypeEnum】,枚举内容如下所示。
import lombok.AllArgsConstructor;
import lombok.Getter;@AllArgsConstructor
public enum PayTypeEnum {ALI_PAY("ALI_PAY","支付宝支付"),WCHAT_PAY("WCHAT_PAY","微信支付"),JD_PAY("JD_PAY","京东支付"),;@Getterprivate String code;@Getterprivate String desc;
}
一、获取枚举list值
1、方式一、stream遍历
通过枚举中定义的方法,使用stream遍历,获取list的值。
/**
* 获取code的list* @return*/
public static List<String> getPayTypeCodeList(){return Stream.of(values()).map(t-> t.getCode()).collect(Collectors.toList());// 方式一
List<String> payTypeEnumList = PayTypeEnum.getPayTypeNameList();
System.out.print("方式一枚举处理返回结果为:"+payTypeEnumList);
}
2、方式二、hutool的EnumUtil
使用EnumUtil工具类的 【getNames】方法
// 方式二
List<String> payTypeEnumNameByUtil = EnumUtil.getNames(PayTypeEnum.class);
System.out.print("方式二EnumUtil返回结果为:"+payTypeEnumNameByUtil);
执行测试方法,返回结果如下。
PayTypeEnum payTypeEnumByUtil = EnumUtil.getBy(PayTypeEnum::getCode,"JD_PAY");System.out.print("EnumUtil返回结果为:"+payTypeEnumByUtil);