在其它两篇文章中,已经解决的自定义枚举在MyBatis以及Rest接口的转换,但是在Springfox中还存在问题,不能使用code来作为api。...本文通过扩展Springfox,实现了对自定义枚举的良好支持。 ps: 枚举的定义参见 自定义枚举 --- MyBatis字段映射 当前 ?...Springfox默认枚举 存在2个问题 类型显示为string,需要修改为integer 枚举的类型显示为枚举值,需要修改为枚举的code值(CodedEnum的定义请参见其他文章) 扩展后 ?...扩展Springfox后的枚举展示 实现方式 实现ModelPropertyBuilderPlugin接口, @Component public class CodedEnumPropertyPlugin...,建议收藏 自定义枚举系列 自定义枚举 --- MyBatis字段映射 自定义枚举 --- Gson转换 参考 Plugins Available For Extensibility springfox-swagger
微软提供给我们可以自定义凭据的功能,我们可以通过微软提供的接口对登录界面做一系列的定制。但最近在开发过程中遇到了一些问题。...而 Win7 是可以收到这个消息的,所以我们就要考虑在对 Win7 和 Win10 做不同的处理。然而最近搜索一片文章发现,Win10 一样是可以开启锁屏界面的。...我们先来看一下 Win7 在某个用户登录后的锁屏界面: 图片 可以看到,Win7 的锁屏界面提示当前是已锁定,且可以点击切换用户按钮。...而 Win10 的锁屏界面则是光秃秃的,既没有切换用户也不显示锁定状态。...CPUS_UNLOCK_WORKSTATION 锁屏消息了,而且再次在登录状态下锁屏时,从锁屏的界面来看我们可以看到切换用户的按钮了。
但如果你能在具体的开发中,更优雅的定义枚举的话会让你的代码看起来清新脱俗,本文将介绍枚举的各种用法,特别后面的通过构造函数传参以后,让你在开发中,遇到枚举与int value之间切换时变得更优雅。...用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。...如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号。...关于这个两个集合的使用就不在这里赘述,可以参考JDK文档 枚举和常量定义的区别 一、 通常定义常量方法 我们通常利用public final static方法定义的代码如下,分别用1表示红灯,3表示绿灯...枚举类型的简单定义方法如下,我们似乎没办法定义每个枚举类型的值。
枚举允许你通过列举可能的 成员(variants) 来定义一个类型。首先,我们会定义并使用一个枚举来展示它是如何连同数据一起编码信息的。...在这里,还能更容易地看出枚举工作方式的另一个细节:我们所定义的每个枚举成员的名称也成为了一个用于构造枚举实例的函数。...让我们看看标准库是如何定义 IpAddr 的:它具有跟我们定义和使用的一样的枚举和成员,但它以两个不同结构的形式将地址数据嵌入到成员中,每个成员的定义不同:#!...有关联值的枚举定义类似于定义不同类型的结构体,不同之处在于枚举不使用 struct 关键字,并且所有成员都归类在 Message 类型下。如下这些结构体可以包含与之前枚举成员中相同的数据:#!...,每个结构体都有自己的类型,我们就不能像上面定义的 Message 枚举那样简单地定义一个函数来接收这些类型的消息,因为枚举是单独一个类型。
一、什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便? 二、为什么不用静态常量来替代枚举类呢?...使用enum定义的枚举类默认继承了java.lang.Enum,而不是继承Object类。...使用enum定义、非抽象的枚举类默认使用final修饰,不可以被继承。 枚举类的构造器只能是私有的。 四、枚举类介绍 枚举类内也可以定义属性和方法,可是是静态的和非静态的。...构造器需定义成私有的,这样就不能在别处申明此类的对象了。枚举类通常应该设计成不可变类,它的Field不应该被改变,这样会更安全,而且代码更加简洁。...与普通类一样,实现接口的时候需要实现接口中定义的所有方法,若没有完全实现,那这个枚举类就是抽象的,只是不需显式加上abstract修饰,系统化会默认加上。
文章目录 枚举类的使用 如何定义枚举类 方式一:jdk5.0之前,自定义枚举类 方式二:jdk5.0,可以使用enum关键字定义枚举类 Enum类的主要方法 toString() values() valueOf...(String objName) 使用enum关键字定义的枚举类实现接口的 情况一:实现接口,在enum类中实现抽象方法 情况二:让枚举类的对象分别实现接口中的抽象方法 枚举类的使用 枚举类的理解:类的对象只有有限个...我们称此类为枚举类 当需要定义一组常量时,强烈建议使用枚举类 如果枚举类中只有一个对象,则可以作为单例模式的实现方式。...如何定义枚举类 方式一:jdk5.0之前,自定义枚举类 //自定义枚举类 class Season{ //1.声明Season对象的属性:private final修饰 private final...使用 enum 定义的枚举类默认继承了 java.lang.Enum类,因此不能再继承其他类 枚举类的构造器只能使用 private 权限修饰符 枚举类的所有实例必须在枚举类中显式列出(, 用于分隔
3.1 枚举类型的定义 其中列举的是可能的取值,默认开始为零,开始向下递增1,可以在定义的时候初始化 enum Day//星期 { Mon, Tues, Wed,...{}中的内容是枚举类型的可能取值,也叫 枚举常量 。 这些可能取值都是有值的,默认从0开始,依次递增1,当然在声明枚举类型的时候也可以赋初值。...定义常量,为什么非要使用枚举?...枚举的优点: 1. 增加代码的可读性和可维护性 2. 和#define定义的标识符比较枚举有类型检查,更加严谨。 3. 便于调试 4....使用方便,一次可以定义多个常量 3.3 枚举的使用 enum Color//颜色 { RED = 1, GREEN = 2, BLUE = 4 }; enum
前言 本文介绍自定义类型中的枚举 一、枚举 枚举,通俗来讲就是一一列举 要注意枚举的枚举常量是有限个数 例如,三原色:红黄蓝;性别:男、女、保密;…… 二、定义与声明 #define _CRT_SECURE_NO_WARNINGS..., 一般默认第一个枚举常量的值是0,后面的每一个枚举常量的值都是给前一个的值加一; 如果给第一个枚举常量进行赋值,则后面的枚举常量也会随之变化,规则也是加一。...三、枚举的优点 1.增加了代码的可读性和可维护性 例如:之前编写的小游戏主菜单就可以用枚举来将switch选择中的0、1、2进行替换,更方便阅读。...,因此不能对宏定义进行调试,而枚举可以被调试】 ②枚举类型由类型检查更加严谨(C语言中体现不多,但是C++会体现); 【只能拿枚举常量给枚举变量赋值才不会出现类型差异】 ③使用更方便,一次可以定义多个变量...---- 总结 本文主要介绍了自定义类型中的结构体类型的相关知识,希望这篇文章对你理解结构体有所帮助。
问题描述 现在需要使用 EasyExcel 的报表导入导出功能,一般的字段都没有问题,但是由于系统使用了 Spring Boot + Mybatis Plus 的枚举类型映射功能,所以类似于 性别 的字段...@ExcelProperty(value = "性别(0:女,1:男)") private GenderType gender; 其中的枚举类使用了 @EnumValue 注解,完成了自动映射,这使得在查询数据库的时候...例如我们在 Excel 的性别字段中填写数字 1 表示的是枚举类型的性别 男 ,但是 EasyExcel 会认为要把数字类型的 1 转化为 枚举类型 GenderType,这样就会报错。...Excel 展示的数据 * * @param value 枚举对象 */ @Override public CellData convertToExcelData...ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { // 将枚举类型按照
自定义类型:结构体,枚举,联合 1....枚举 3.1 枚举的使用: 3.2 枚举的优点: 4. 联合(共用体) 4.1 联合类型的定义 4.2 联合的特点 4.3 联合大小的计算 5. 总结: 1....Day//星期 { //枚举常量 Mon=1, Tues, Wed, Thur, Fri, Sat, Sun }; 3.2 枚举的优点: 为什么使用枚举?...枚举的优点: 增强代码的可读性和可维护性。 和#define定义的标识符比较枚举有类型检查,更加严谨。 防止命名污染(封装)。 使用方便,一次可以定义多个常量。 4....联合(共用体) 4.1 联合类型的定义 联合也是一种特殊的自定义类型。 这种类型定义的变量也包含一系列的成员,特征是这些成员共用同一块空间(所以联合也叫共用体)。
宏定义 在c语言程序编译之前处理的内容。 一般形式:#define 标识符 字符串 宏定义 文件包含 条件编译 1.不带参数的宏定义。...,可以使用之前定义过的宏定义。...带参数的宏定义不仅对字符串进行替换,还要对参数进行替换。...如果一个变量只有几种可能的值,则可以定义枚举类型。...enum--->常量整数 定义一个枚举类型,枚举类型种的元素,默认是从0开始的。
通过Restful接口返回的JSON数据默认是枚举的名字,但是使用自定义枚举时,一般统一使用自定义的code来代表。...所以需要自定义HttpMessageConverter CodedTypeTypeAdapter import com.google.gson.*; import com.utils.mybatis.CodedEnum...; import java.lang.reflect.Type; /** * CodedEnum在GSON中的转换规则,使用code,而不是字符 * * @param * @author...com.tenmao.web.mvc.support.HttpMessageConverter" /> 完成 实现上述步骤后,只要实现接口CodedEnum的自定义枚举都可以自动转换为其...code值 自定义枚举系列 自定义枚举 --- MyBatis字段映射 自定义枚举 --- Swagger文档展示
比较常见的自定义类型主要分为3种:结构体、枚举、联合。 二、探窥自定义类型 1.结构体(struct) 1.1 结构的基础知识 结构是一些值的集合,这些值称为成员变量。..., SECRET }; enum Color//颜色 { RED, GREEN, BLUE }; 以上定义的 enum Day , enum Sex , enum Color 都是枚举类型。...{ }中的内容是枚举类型的可能取值,也叫 枚举常量 。 这些可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。...我们可以使用 #define 定义常量,为什么非要使用枚举? 枚举的优点: 1. 增加代码的可读性和可维护性 2. 和#define定义的标识符比较枚举有类型检查,更加严谨。 3....使用方便,一次可以定义多个常量 3.3 枚举的使用 enum Color//颜色 { RED=1, GREEN=2, BLUE=4 }; enum Color clr = GREEN;//只能拿枚举常量给枚举变量赋值
在和前端开发对接接口过程中经常发现需要一些枚举类的字典参数,虽然可以通过swagger在线文档给前端开发,不过可以直接返回枚举的编码和字典值就可以更直观,所以在项目里怎么实现?...可以通过Mybatis的一些接口,自定义枚举类的处理器实现 环境准备 开发环境 JDK 1.8 SpringBoot2.2.1 Maven 3.2+ 开发工具 IntelliJ IDEA smartGit...自定义Mybatis的类型转换器类,继承BaseTypeHandler,里面有几个需要实现的方法 void setNonNullParameter(PreparedStatement ps, int...i, T parameter, JdbcType jdbcType) 用于定义设置参数时把Java类型的参数转换为对应的数据库类型 T getNullableResult(ResultSet...rs, String columnName) 用于定义通过字段名称获取字段数据时把数据库类型转换为对应的Java类型 T getNullableResult(ResultSet rs, int
自定义枚举Validated校验注解 一、介绍 在以前的文章中,有解释使用过@Valid注解的使用 Valid注解使用及扩展 | 半月无霜 (banmoon.top) Validated分组校验及扩展...| 半月无霜 (banmoon.top) 本篇分享一个自定义校验注解,可以配合枚举使用,对入参的有效值进行校验。...比如说一些状态值,入参必须要符合定义的状态值 二、代码 注解 package com.banmoon.validator; import com.banmoon.business.enums.MyEnum...@Retention(RetentionPolicy.RUNTIME) public @interface EnumValid { String message() default "不符合的枚举类型...import lombok.NoArgsConstructor; import java.util.List; import java.util.Set; @Data @ApiModel("验证自定义校验注解
参考链接: Java枚举 java枚举自定义返回状态码 1.设计一个接口,接口定义了状态码,消息信息以及获取方式 public interface CodeEnum { /** *...getCode(); /** * 获取提示信息 * @return 提示信息 * **/ public String getMessage(); } 2.设计枚举类...,实现上述接口,定义了具体的异常信息和状态码,当有新的状态码时,只需要添加一条对应的信息即可 public enum CodeEnumEntity implements CodeEnum { ...//自定义的状态码 DATABASE_EXCEPTION("303", "数据库连接异常"), MONITOR_EXCEPTION("304", "文件监控异常"); //错误码
01 自定义类型 通过用户自定义类型,简化了verilog代码量并实现更多功能;用户自定义类型使得代码的可读性更强; 通过typedef来创建用户自定义类型; 通过enmu来创建枚举类型; 通过struct...枚举类型(enum)可以描述变量的合法值范围,其每一个值都需要提供一个用户自定义的名字; 如枚举类型 IC可以拥有ICer1,ICer2,ICer3.....ICerN数值,即enum{ICer1,ICer2...,ICer3.....ICerN} IC; Verilog语言不支持枚举类型,因此为了提供类似于枚举类型设计方式,我们不得不采用参数来表示可取值的范围,或者使用宏来定义各个合法值的宏名称。...定义枚举值 默认的枚举类型是int,即32位的二值逻辑数据类型; 为了更准确的描述变量,SV允许指明其数据类型,例如: enum bit {TRUE,FALSE} Boolean; enum logic...[1:0] {WAITE,LOAD,READY} state; 自定义枚举类型 如果枚举类型变量被赋值,那么所赋的值应在其数值范围。
import org.junit.Test; public class lan { @Test public void tes...
MyBatis自带的EnumTypeHandler转换为文字保存在数据库,EnumOrdinalTypeHandler使用的是序号,它们的一致性都可能被轻易地破坏,所以最好的办法是自定义一个int类型...自定义公共父接口 package com.tenmao.utils.mybatis; import java.util.Arrays; import java.util.Optional; public...Arrays.stream(enumClass.getEnumConstants()).filter(e -> e.getCode() == code).findAny(); } } Enum的转换工具类... 自定义枚举...,其实都是自动的,不需要再额外配置 自定义枚举系列 自定义枚举 --- Gson转换 自定义枚举 --- Swagger文档展示 参考 如何在MyBatis中优雅的使用枚举
文章目录 一、枚举类 二、枚举类定义函数 1、枚举类定义普通函数 2、枚举类定义构造函数 三、密封类 一、枚举类 ---- Kotlin 中使用 枚举类 定义常量 , 枚举类定义格式如下 : 枚举常量...枚举的 常量名称 ; MALE true 枚举的常量 Gender.MALE 是 Gender 类的一个 实例对象 ; 二、枚举类定义函数 ---- 在枚举类中 , 可以 定义函数 , 包括 普通函数...和 构造函数 ; 1、枚举类定义普通函数 通过 枚举类 的 类型常量 ( 实例对象 ) 可以 调用 枚举类中定义的方法 ; 为枚举类定义普通函数 : 在枚举类 Gender 中定义了 log 函数 ,...为枚举类定义构造函数后 , 每个枚举常量都要传入对应的构造函数参数 ; 为枚举类定义构造函数 : enum class Gender(var id: Int) { MALE(0), FEMALE...是一组 子类型 闭集 ; 密封类 可以 定义 枚举类型的 子类型闭集 , 一个密封类可以有多个子类 , 继承密封类的子类 必须 与 密封类在相同的 Kotlin 代码文件中 ; 密封类适用于这种情况