枚举类型

自定义枚举 --- Swagger文档展示

匿名 (未验证) 提交于 2019-12-02 23:43:01
在其它两篇文章中,已经解决的自定义枚举在MyBatis以及Rest接口的转换,但是在Springfox中还存在问题,不能使用code来作为api。本文通过扩展Springfox,实现了对自定义枚举的良好支持。 ps: 枚举的定义参见 自定义枚举 --- MyBatis字段映射 当前 Springfox默认枚举 存在2个问题 类型显示为string,需要修改为integer 枚举的类型显示为枚举值,需要修改为枚举的code值( CodedEnum 的定义请参见其他文章) 扩展后 扩展Springfox后的枚举展示 实现方式 实现 ModelPropertyBuilderPlugin 接口, @Component public class CodedEnumPropertyPlugin implements ModelPropertyBuilderPlugin { @Override public void apply(ModelPropertyContext context) { Optional<ApiModelProperty> annotation = Optional.absent(); if (context.getAnnotatedElement().isPresent()) { annotation = annotation.or(ApiModelProperties

C#枚举

匿名 (未验证) 提交于 2019-12-02 23:36:01
Gender.cs /// <summary> /// 性别类型 /// </summary> enum Gender { 男,女 } //枚举是值类型 //枚举中不能定义字段属性和方法 //枚举值是从0递增的整数 Child.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LeiheDuixiang { /// <summary> /// 小朋友 /// </summary> class Child { //隐藏信息,private不能在类外进行访问 private string name; //字段 private Gender sex = Gender.男; private int age; /// <summary> /// 完成字段的对外访问接口 /// 属性,属性的名字首字母应该大写 /// </summary> public string Name { get { return name; }//读访问器,返回字段的值 set { name = value; } //写访问器,给字段赋值 } public Gender Sex { get { return sex; } //只读 } public int Age {

python:枚举类型

喜夏-厌秋 提交于 2019-12-02 23:32:52
1、什么是枚举类型?   枚举类型可以看做是一系列常量的集合,通常用于表示某些有限且固定的集合,例如月份(一年有12个月)、星期(一星期有七天)、季节(一年四个季节)等。 2、枚举的定义 定义枚举首先要导入enum模块 定义枚举使用class关键字,继承Enum类   示例代码: from enum import Enum class Direction(Enum): west = "东" east = "西" south = "南" north = "北"   上面的代码,我们定义了方向的枚举Direction,枚举中有4个成员,每个成员都有他们自己的名称和值,打印Direction的类型如下: 注意: 定义成员时,成员名字不可重复 默认情况下,不同成员的值允许相同,但若有两个相同值的成员,第二个成员的名称将被视为第一个成员的别名 在存在两个相同值的成员时,通过值来获取枚举成员将只能获取到第一个成员 在定义枚举时,如果要限定不能定义相同值的成员,可以使用装饰器@unique(需要导入unique方法),这时候再定义值相同的成员将会报错 3、枚举取值 通过成员名称来获取成员 print(Direction["south"]) print(Direction.south) 通过成员值来获取成员 print(Direction("南")) 通过成员来获取他的名称和值 direction

Java自学-类和对象 枚举类型

易管家 提交于 2019-12-02 23:00:33
枚举类型 步骤 1 : 预先定义的常量 枚举enum是一种特殊的类(还是类),使用枚举可以很方便的定义常量 比如设计一个枚举类型 季节,里面有4种常量 public enum Season { SPRING,SUMMER,AUTUMN,WINTER } 一个常用的场合就是switch语句中,使用枚举来进行判断 注:因为是常量,所以一般都是全大写 public class HelloWorld { public static void main(String[] args) { Season season = Season.SPRING; switch (season) { case SPRING: System.out.println("春天"); break; case SUMMER: System.out.println("夏天"); break; case AUTUMN: System.out.println("秋天"); break; case WINTER: System.out.println("冬天"); break; } } } public enum Season { SPRING,SUMMER,AUTUMN,WINTER } 步骤 2 : 使用枚举的好处 假设在使用switch的时候,不是使用枚举,而是使用int,而int的取值范围就不只是1-4

Python 枚举

匿名 (未验证) 提交于 2019-12-02 22:54:36
首先,定义枚举要导入enum模块。 枚举定义用class关键字,继承Enum类。 用于定义枚举的class和定义类的class是有区别。 示例代码: from enum import Enum class Color (Enum) : red = 1 orange = 2 yellow = 3 green = 4 blue = 5 indigo = 6 purple = 7 代码分析: 上面的代码,我们定义了颜色的枚举Color. 颜色枚举有7个成员,分别是Color.red、Color.orange、Color.yellow等。 每一个成员都有它们各自名称和值,Color.red成员的名称是:red,值是:1。 每个成员的数据类型就是它所属的枚举。【*注:用class定义的类,实际上就是一种类型】 1.1 定义枚举时,成员名称不允许重复 from enum import Enum class Color (Enum) : red = 1 red = 2 上面的代码,就无法执行。提示错误:TypeError: Attempted to reuse key: ‘red’ from enum import Enum class Color (Enum) : red = 1 red_alias = 1 成员Color.red和Color.red_alias具有相同的值,那么成员Color

python中,枚举

匿名 (未验证) 提交于 2019-12-02 22:51:30
Python提供了内置的enumerate函数,可以把各种迭代器包装成生成器,以便稍后产生输出值,这个生成器每次产生一对输出值,前一个是循环下标,后一个是从迭代器获取到的下一个序列元素。它的作用是允许我们遍历迭代器并自动计数。 定义 首先,定义枚举要导入enum模块。 枚举定义用class关键字,继承Enum类。 用于定义枚举的class和定义类的class是有区别【下一篇博文继续分享】。   示例代码: from enum import Enum class Color(Enum): red = 1 orange = 2 yellow = 3 green = 4 blue = 5 indigo = 6 purple = 7   代码分析: 上面的代码,定义了颜色的枚举Color. 颜色枚举有7个成员,分别是Color.red、Color.orange、Color.yellow等。 每一个成员都有它们各自名称和值,Color.red成员的名称是:red,值是:1。 每个成员的数据类型就是它所属的枚举。【*注:用class定义的类,实际上就是一种类型】 from enum import Enum , unique @unique class color (Enum): ''' / ''' red= 1 red_reia= 11 orange= 2 yellow= 3 green= 4

&lt;JAVA&gt;枚举类型(enum)

匿名 (未验证) 提交于 2019-12-02 21:53:52
枚举理解: 枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是 这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。 关键字:enum。 public enum Color { RED , GREEN , BLANK , YELLOW } 向枚举中添加新方法 public enum Color { RED ( "红色" , 1 ), GREEN ( "绿色" , 2 ), BLANK ( "白色" , 3 ), YELLO ( "黄色" , 4 ); // 成员变量 private String name ; private int index ; // 构造方法 private Color ( String name , int index ) { this . name = name ; this . index = index ; } // 普通方法 public static String getName ( int index ) { for ( Color c : Color . values ()) { if ( c . getIndex () == index ) { return c . name ; } } return null ; } // get set

springboot~mybatis枚举映射

匿名 (未验证) 提交于 2019-12-02 21:52:03
在mybatis和mybatis plus里,如果你的实体字段是一个枚举类型,而在数据表里是整型,这时在存储时需要进行处理,默认情况下,会把 枚举的元素名称 拼接到SQL语句里,而由于数据表是int类型,所以在插入等操作时,就会出现异常! MappedTypes ( value = { YesOrNo . class }) public class UniversalEnumHandler < E extends Enum < E > & BaseEnum > extends BaseTypeHandler < E > { private final Class < E > type ; /** * construct with parameter. */ public UniversalEnumHandler ( Class < E > type ) { if ( type == null ) { throw new IllegalArgumentException ( "Type argument cannot be null" ); } this . type = type ; } @Override public void setNonNullParameter ( PreparedStatement ps , int i , E parameter , JdbcType

java枚举

匿名 (未验证) 提交于 2019-12-02 21:52:03
1、为何使用Java枚举 Java5之前没有enum的情况下,我们一般使用几个int常量表示枚举值(int枚举类型)或者string枚举类型 public static final ZOO_CAT=1 #表示小猫 public static final ZOO_CAT=2 #表示小狗 作为方法参数zooType是int类型 如 public void printZoo(int zooType){ } 这样的话 我们调用方法只要是int类型就行 ,没法控制方法调用的 安全性 其次 作为一个数字 如果打印到日志是个裸数字没有 可读性 为此 java5 产生了enum 固定且有限的类型都可以使用enum。 2、如何使用java枚举 package com.yangfei.test.meiju; public class EnumYf { enum ZOO{ CAT,DOG,PIG } public static void printZoo(ZOO zooType){ System.out.println("my name is " + zooType); } public static void main(String[] args){ printZoo(ZOO.DOG); } } View Code 如上 一个简单的例子 EnumYf中定义了一个动作枚举类型。 当一个枚举是公共的分类时

Java中枚举知识点总结

易管家 提交于 2019-12-02 21:36:13
基本概念: 一直对枚举的知识点和应用场景都不是特别明确,特意花点时间对该知识点进行总结。有不对之处,欢迎指出; 枚举是JDK1.5出的新特性。它是一种特殊数据类型,能够为一个变量定义一组预定义的常量。变量必须等于为其预定义的值之一。同时在JDK1.6中switch也支持枚举进行逻辑判断。 枚举通过enum关键字进行定义。默认都是java.lang.Enum(Enum属于抽象类)的子类。同时枚举类型的每个值都会映射到Enum抽象类中的构造方法。源码如下: public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializable { //Enum.java:117-120行 protected Enum(String name, int ordinal) { this.name = name; this.ordinal = ordinal; } }复制代码 1、简单版,代码如下 : /** * TestEnum.java * TestEnum 声明枚举 * RED,GREEN,BLUE 预定义的常量 **/public enum TestEnum { RED,GREEN,BLUE; }//TestMain.javaclass TestMain { public static void