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

莆田网站建设设计编程培训班学费一般多少钱

莆田网站建设设计,编程培训班学费一般多少钱,wordpress首页添加站点统计显示,青岛市专业做网站的吗在数据库中常用数字来代替字符串类型&#xff0c;编写一个枚举映射类 当数据库的介质类型要存储数字&#xff0c;前端可以任意传参&#xff0c;通过枚举转换后端都会转成数字对应类型 import lombok.Getter;/*** <p>* 存档介质类型* </p>** author Jyang* date 2…

在数据库中常用数字来代替字符串类型,编写一个枚举映射类

当数据库的介质类型要存储数字,前端可以任意传参,通过枚举转换后端都会转成数字对应类型 

import lombok.Getter;/*** <p>* 存档介质类型* </p>** @author Jyang* @date 2024/11/14*/
@Getter
public enum ArchiveMediumTypeEnum implements DescriptiveEnum {PAPER(1, "纸质"),ELECTRONIC(2, "电子");private final int code;private final String desc;ArchiveMediumTypeEnum(int code, String desc) {this.code = code;this.desc = desc;}@Overridepublic int getCode() {return code;}@Overridepublic String getDesc() {return desc;}
}
/*** <p>* 适用于数据库存储的描述性枚举* </p>** @author Jyang* @date 2024/11/14*/public interface DescriptiveEnum {/*** 编码*/int getCode();/*** 描述*/String getDesc();
}
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;/*** <p>* 枚举转换* </p>** @author Jyang* @date 2024/11/14*/public class DescriptiveEnumConverter<T extends Enum<T> & DescriptiveEnum> {/*** key:code* value:泛型枚举*/private final Map<Integer, T> codeToEnum = new HashMap<>();/*** key:描述信息* value:泛型枚举*/private final Map<String, T> descToEnum = new HashMap<>();/*** 使用Map存储作为单例模式*/private static final Map<Class<?>, DescriptiveEnumConverter<?>> CACHE = new ConcurrentHashMap<>();public static <T extends Enum<T> & DescriptiveEnum> DescriptiveEnumConverter<T> of(Class<T> enumClass) {return (DescriptiveEnumConverter<T>) CACHE.computeIfAbsent(enumClass,(Class<?> k) -> new DescriptiveEnumConverter<>(enumClass));}public DescriptiveEnumConverter(Class<T> enumClass) {for (T enumConstant : enumClass.getEnumConstants()) {codeToEnum.put(enumConstant.getCode(), enumConstant);descToEnum.put(enumConstant.getDesc(), enumConstant);}}/*** 根据编码获取描述** @param code 编码* @return*/public String getDescByCode(Integer code) {return codeToEnum.get(code).getDesc();}/*** 根据描述获取编码** @param desc 描述* @return*/public Integer getCodeByDesc(String desc) {return descToEnum.get(desc).getCode();}/*** 统一返回编码** @param codeOrDesc 编码或者描述* @return 编码*/public Integer getCode(Object codeOrDesc) {return Optional.ofNullable(codeToEnum.get(codeOrDesc)).orElseGet(() -> descToEnum.get(codeOrDesc)).getCode();}/*** 统一返回描述** @param codeOrDesc 编码或者描述* @return 描述*/public String getDesc(Object codeOrDesc) {return Optional.ofNullable(codeToEnum.get(codeOrDesc)).orElseGet(() -> descToEnum.get(codeOrDesc)).getDesc();}/*** 根据编码获取枚举** @param code 编码* @return 枚举*/public T fromCode(Integer code) {return codeToEnum.get(code);}/*** 根据描述获取类型** @param desc 描述* @return 枚举*/public T fromDesc(String desc) {return descToEnum.get(desc);}/*** 根据枚举获取编码** @param enumValue 枚举* @return 编码*/public Integer toCode(T enumValue) {return Optional.ofNullable(enumValue).map(DescriptiveEnum::getCode).orElse(null);}/*** 根据枚举获取描述** @param enumValue 枚举* @return 描述*/public String toDesc(T enumValue) {return Optional.ofNullable(enumValue).map(DescriptiveEnum::getDesc).orElse(null);}
}
    /*** 使用方式* * @param args*/public static void main(String[] args) {/*** 根据编码或者描述统一返回编码*/Integer code1 = DescriptiveEnumConverter.of(ArchiveMediumTypeEnum.class).getCode(1);System.out.println("code1 = " + code1);Integer code2 = DescriptiveEnumConverter.of(ArchiveMediumTypeEnum.class).getCode("纸质");System.out.println("code2 = " + code2);/*** 根据编码或者描述统一返回描述信息*/String desc1 = DescriptiveEnumConverter.of(ArchiveMediumTypeEnum.class).getDesc(2);System.out.println("desc = " + desc1);String desc2 = DescriptiveEnumConverter.of(ArchiveMediumTypeEnum.class).getDesc("电子");System.out.println("desc = " + desc2);/*** 根据枚举返回编码*/Integer toCode = DescriptiveEnumConverter.of(ArchiveMediumTypeEnum.class).toCode(ArchiveMediumTypeEnum.PAPER);String toDesc = DescriptiveEnumConverter.of(ArchiveMediumTypeEnum.class).toDesc(ArchiveMediumTypeEnum.ELECTRONIC);}

http://www.yayakq.cn/news/371007/

相关文章:

  • 北京网站优化哪家公司好wordpress文章页随机文章
  • 网站建设三种方法mysql 网站 数据库
  • 中山市规划建设局网站男女做羞羞事漫画网站免费
  • 公司网站排名优化手段qq邮箱网页版登录
  • 内蒙古网站开发网站开发配置状态统计
  • 网站开发合同管辖权异议雅思培训
  • dede网站架设教程番禺响应式网站建设
  • 如何请人做网站网站的发布与推广怎么写
  • 营销型网站有哪些平台深圳龙华区防控措施
  • dz可以做旅游网站吗wordpress英文站更新通知目录
  • 网站建设属于什么职位北京尚层装饰总部电话
  • 怎么做样网站北京公司注册最新政策
  • 导航网站cms东莞十大保安公司
  • 游民星空是用什么做的网站永久不收费免费的聊天软件
  • 珠海企业营销型网站建设公司河南做酒店网络系统网站
  • 江苏无锡网站推广及优化做本地旅游网站
  • 北京网站设计推荐刻微商城网站建设代理商
  • 网站开发 需求文档石家庄抖音代运营公司
  • 网站建设蘑菇街网络营销方式?
  • 织梦博客网站模板下载如何软件开发
  • 手机 pc网站模板中国数据统计网站
  • 怎么做网站服务二手房中介网站建设
  • 外贸商城网站建站国家重大项目建设库网站
  • 如何修改响应式网站模板做的最好的紫砂网站
  • 接网站开发外包博爱网站建设
  • 局域网网站建设软件网站建设推广方案
  • 可以免费发布信息的网站有哪些如何查询网站注册信息
  • 电子商务网站例网站域名空间怎么买
  • 网站程序如何上传福州网站开发cms
  • 手机做无水印短视频网站徐州建设网站的公司