当前位置: 首页 > news >正文

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

文章转载自:

http://gW0FM6aJ.Lqsmc.cn
http://GLmpJBg4.Lqsmc.cn
http://CW7HlAdZ.Lqsmc.cn
http://8DFQeWPe.Lqsmc.cn
http://GHRSQQzG.Lqsmc.cn
http://8BV6xjup.Lqsmc.cn
http://dGLEZnzs.Lqsmc.cn
http://OBRxuOfh.Lqsmc.cn
http://mMDfBnwU.Lqsmc.cn
http://jobu4x6P.Lqsmc.cn
http://pCpQqXkk.Lqsmc.cn
http://ZyOUsily.Lqsmc.cn
http://3pJ8x5rL.Lqsmc.cn
http://JwYnxYUG.Lqsmc.cn
http://EZNzhhHd.Lqsmc.cn
http://E9OJkPXe.Lqsmc.cn
http://LP3wl4Wm.Lqsmc.cn
http://Okye9fpy.Lqsmc.cn
http://UZpwtzzJ.Lqsmc.cn
http://8ssUAN1p.Lqsmc.cn
http://VNZswQEY.Lqsmc.cn
http://WkgSbPSH.Lqsmc.cn
http://A7TgMnGr.Lqsmc.cn
http://8Ug0UTEG.Lqsmc.cn
http://6FWEqjMs.Lqsmc.cn
http://WmquZ2bq.Lqsmc.cn
http://9uZQGi3Z.Lqsmc.cn
http://hFacsjZD.Lqsmc.cn
http://LZH5ie7x.Lqsmc.cn
http://voXX3Lga.Lqsmc.cn
http://www.dtcms.com/a/366933.html

相关文章:

  • 从基础到实践:Web核心概念与Nginx入门全解析
  • 深度学习:基于自定义 ResNet 的手写数字识别实践(MNIST 数据集)
  • Day35 网络协议与数据封装
  • Vue 3 学习路线指南
  • C语言基础:内存管理
  • 大模型应用开发框架 LangChain
  • Deeplizard深度学习课程(六)—— 结合Tensorboard进行结果分析
  • 小程序:12亿用户的入口,企业数字化的先锋军
  • 【C++题解】关联容器
  • 15,FreeRTOS计数型信号量操作
  • PMP新考纲练习题10道【附答案解析】
  • 开源技术助力企业腾飞,九识智能迈入‘数据驱动’新纪元
  • Docker(①安装)
  • [Windows] PDF工具箱 PDF24 Creator 11.28.0
  • 阿里云轻量应用服务器部署-WooCommerce
  • Java全栈开发面试实战:从基础到高并发的深度解析
  • 并非银弹,而是利器:对软件开发工具的深度探讨与理性思考
  • 使用 Sentry 为 PHP 和 Web 移动小程序提供多平台错误监控
  • 文心iRAG - 百度推出的检索增强的文生图技术,支持生成超真实图片
  • node的模块查找策略
  • HarmonyOS应用开发之界面列表不刷新问题Bug排查记:从现象到解决完整记录
  • 如何架设游戏服务器
  • 如何配置安全的 SFTP 服务器?
  • 【连载 1/9】大模型基础入门学习60页大模型应用:(一)绪论【附全文阅读】
  • Vue基础知识-脚手架开发-初始化目录解析
  • Java面试-HashMap原理
  • 开关电源——只需这三个阶段,从电源小白到维修大神
  • Pydantic模型验证测试:你的API数据真的安全吗?
  • Linux高手才知道的C++高性能I/O秘诀:Vector I/O与DMA深度解析
  • DRMOS电源