文章目录 枚举类的使用 如何定义枚举类 方式一: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 权限修饰符 枚举类的所有实例必须在枚举类中显式列出(, 用于分隔
Java:枚举类型----每博一文案师父说:人活一世,每个人都有他的特别,每个人都值得被温柔相待。...枚举类型的介绍一个 枚举类型 是一种特殊的数据类型,使一个变量是一组预定义的常量。变量必须等于一个已经预定义的值。...举例: 基于 JDK5.0 之前的方式:自定义一个枚举类,一个关于四季的枚举类型。...JDK 5.0 enum 定义枚举类在 Java 编程语言中,基于 JDK5.0 的前提下,您可以使用 enum 关键字定义枚举类型。...JDK5.0 enum 定义的枚举类 的父类是 java.lang.Enum 抽象类,不是 Object 的类。
//定义注解 import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.Target...; import javax.validation.Constraint; import javax.validation.Payload; import static java.lang.annotation.ElementType.ANNOTATION...\_TYPE; import static java.lang.annotation.ElementType.CONSTRUCTOR; import static java.lang.annotation.ElementType.FIELD...; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.ElementType.PARAMETER...; import static java.lang.annotation.RetentionPolicy.RUNTIME; @Target({METHOD, FIELD, ANNOTATION\_TYPE
在编程中,常常遇到多种类型、多种状态的情况,对于这种可以事先预知的业务我们常常有两种表示方法: 使用DB管理,优点是方便在线维护,缺点是每次加载都要读取数据库,加载的性能取决于数据库的压力 。...使用枚举类型,优点是加载速度依赖于应用服务器,缺点是修改比较麻烦,每次加类型都需要发布代码。...对于Java枚举类型的使用,我们可以总结为以下几个方面:整型值,字符串字段和字符串的相关描述,下面我们就讨论如何方便的在这几个类型中相关转换,对于所有的类型转换可以总结如下: int --> Enum...String -->Enum Enum-->String Enum-->描述 int -->描述 String -->描述 下面我们对于上面的7种描述来做出对应的转换方法,首先定义一个枚举类型...public enum EnumDemo { fail, success, unknow; } 为了能够保证相关的value和值能够保存下来,我们需要对枚举类型改成如下
break; default: System.out.println("参数异常"); } } } 使用枚举之后...package com.merryyou.enmu; import java.util.HashMap; import java.util.Map; /** * Created on 2016/
例如:性别:Man(男)、Woman(女)订单状态:Nonpayment(未付款)、Paid(已付款)、Delivered(已发货)、Checked(已确认收货)定义枚举类型public enum UserType...,可以在枚举类型中添加一些构造器、方法和域。...当然,构造器只是在构造枚举常量的时候被调用。所有的枚举类型都是 Enum 类的子类。它们继承了这个类的许多方法。其中最有用的一个是 toString() 方法,这个方法能够返回枚举常量名。...每个枚举类型都有一个静态的 values() 方法,它将返回一个包含全部枚举值的数组。ordinal 方法返回 enum 声明中枚举常量的位置,位置从 0 开始计数。...typeName, Integer typeId) { this.typeName = typeName; this.typeId = typeId; }}参考资料《Java
以下使用 JDK 版本为:1.8.0_121 枚举类型的引入 枚举类型是 Java 5 中增加的一个小特性,在此之前,实现枚举的方式为定义编译期常量形式。...: enum Season{ SPRING, SUMMER, AUTUMN, WINTER; } 根据类型的定义可以看出两者存在明显的差异,枚举类型的实例摆脱了数值的限制,能够以实例自身表达其作用和目的...枚举类型的使用 enum 关键字与常用的 class 关键字作用相似,用于完成对类结构的定义,所以 enum 可以作为一种特殊的类定义方式理解。...定义过程与 class 的定义类过程基本相同,同样提供有属性和方法的定义,不同之处在于 enum 定义的类默认继承了 Enum 类,因为 Java 不允许多继承,所以使用 enum 定义的类不能再继承其它类...由于枚举类型的所有实例都在类内部定义完成,所以枚举类实现接口的方式相较于普通类略有不同。
用的不多,但用的时候仅仅简单的使用,不太明白原理,今天就系统的学一下枚举。参考:java编程思想。...在一个接口内部创建实现该接口的枚举,以此将元素进行分组,可以达到将枚举元素分类的目的。举例来说,假设想用enum表示不同的食物,同时还希望每个enum元素仍然保持Food类型。...然而当你需要与一大堆类型打交道时,接口就不如enum好用。例如,你想创建一个枚举的枚举。那么可以创建一个新的enum,然后用其实例包装Food中的每一个enum类。...package com.test.java.tenum; /** * 枚举的枚举 * Created by Administrator on 2016/3/30. */ public enum...与使用匿名内部类相比较,定义常量相关方法的语法更高效和简洁,下面是一个有趣的洗车的例子:
public enum Music { Because_Of_You("/resource/Because_Of_You.wav"), Just_A_Ki...
public abstract String getName(); } 如果RED只是一个Color类的一个static final的实例,那么上面的代码就很让了费解了,为什么在枚举类型中可以有一个抽象方法...().getSuperclass().getSuperclass()); //打印该枚举类型的修饰符 System.out.println(Modifier.toString...那么,我们应该这么理解枚举类型的原理,首先enum Color继承了java.lang.Enum这个抽象类,但enum Color还是一个抽象类,所以它可以有抽象方法和非抽象方法。...使用Java普通类模拟枚举 import java.util.HashMap; import java.util.Map; /** * 模拟星期中的表示的天,每个星期天都表示一个对象...//使用普通JAVA类模拟枚举的应用 WeekDate weekDate = WeekDate.MON; //获得一个枚举对象 //调用枚举中提供的方法
01 自定义类型 通过用户自定义类型,简化了verilog代码量并实现更多功能;用户自定义类型使得代码的可读性更强; 通过typedef来创建用户自定义类型; 通过enmu来创建枚举类型; 通过struct...; end endmodule 02 枚举类型 枚举类型(enum)可以描述变量的合法值范围,其每一个值都需要提供一个用户自定义的名字; 如枚举类型 IC可以拥有ICer1,ICer2,ICer3.....定义枚举值 默认的枚举类型是int,即32位的二值逻辑数据类型; 为了更准确的描述变量,SV允许指明其数据类型,例如: enum bit {TRUE,FALSE} Boolean; enum logic...[1:0] {WAITE,LOAD,READY} state; 自定义枚举类型 如果枚举类型变量被赋值,那么所赋的值应在其数值范围。...{ON=1’b1,OFF=1’b z} out; 如果枚举类型并没有伴随着typedef,那么该枚举类型指的是匿名枚举类型;此时变量名应伴随其后; 将typedef与enum合并,可以将匿名枚举类型声明为自定义类型
最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?...Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型。...要了解枚举类型,建议大家先打开jdk 中的Enum类简单读一下,这个类里面定义了很多protected 方法,比如构造函数,如果要使用这些方法我们可以把枚举类型定义到当前类中。...枚举类型的简单定义方法如下,我们似乎没办法定义每个枚举类型的值。...定义枚举类型 public enum Light { // 利用构造函数传参 RED (1), GREEN (3), YELLOW (2); // 定义私有变量 private int nCode ;
这个时候就体现出枚举类的作用了,java中枚举类型就是针对这样的场景需求所设计的。.../** * 枚举类的后缀建议为Enum,枚举类型的实例对象建议全大写(这样做符合JAVA的规范) */ public enum SeasonEnum{ SPRING,SUMMER,AUTUMN...其实枚举类型可以看做我们平时新建.java差不多,只是枚举类限制了此类的实例对象。当然,枚举类可以有自己的成员变量和方法。...好了,关于枚举类型的初步使用就到这里了。...如果想看它更多用法请参考下面的链接 更多用法请参考这篇Java 枚举(enum) 详解7种常见的用法_请叫我大师兄_的博客-CSDN博客_java 枚举的定义与用法 版权声明:本文内容由互联网用户自发贡献
一、前言 Java的枚举类型相对C#来说具有更灵活可配置性,Java的枚举类型可以携带更多的信息。...name()会返回枚举值的字面量,而ordinal()为返回枚举值的索引,而索引是以枚举值定义时的位置来确定,并在编译时设置的。...定义枚举类型本质上就是在定义带final修饰符的Enum的子类; 2. 枚举值本质为第1点所定义的类的类常量; 3....三、枚举类型的抽象父类Enum 其实我们大多数情况下都是调用父类Enum的方法来操作自定义的枚举值,下面一起看看父类Enum吧! ...四、携带更多信息——自定义构造函数 由于枚举最终被编译为类,因此我们通过自定义构造函数、自定义字段和方法来让枚举值携带更多信息 public enum MyColor
好,我们今天认真的讲一下枚举类型,大家肯定都用过,比如这样的 1//定义枚举类型 2enum Day { 3 MONDAY, TUESDAY, WEDNESDAY, 4 THURSDAY, FRIDAY..., SATURDAY, SUNDAY 5} 那我们先来看一下他的概念是啥,枚举类型是Java5新增的特性,他是一种特殊的数据类型,是因为他既是一种类(class)类型,又比普通的类型多了写特殊的约束。...1.为什么要使用 比如刚才举的例子,如果我们不用枚举类型也行,那就定义常量就行,如下图: ? 但是这样做是存在缺点的,比如我在里面写错啦一个单词,如下图: ?...2.枚举是什么 我们先编译一个上面写的Day.java文件,然后反编译他,看他编译出来的结果是什么,如下图: ?...从上图我们可以看出反编译出来Day是一个final类型,也就是不能被其他类继承,并且他是继承于Enum类的。如果我们定义一个枚举类型,其实Java替我们做了定义常量这件事情,也就是上图1的区域。
Java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?...Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型。...要了解枚举类型,建议大家先打开jdk 中的Enum 类简单读一下,这个类里面定义了很多protected 方法,比如构造函数,如果要使用这些方法我们可以把枚举类型定义到当前类中。...每个枚举类型,都有自己的名字和顺序,当我们输出一个枚举类型的时候,会输入枚举类型的name ,具体可以参考下面的例子。...枚举类型的简单定义方法如下,我们似乎没办法定义每个枚举类型的值。
前言 本文介绍自定义类型中的枚举 一、枚举 枚举,通俗来讲就是一一列举 要注意枚举的枚举常量是有限个数 例如,三原色:红黄蓝;性别:男、女、保密;…… 二、定义与声明 #define _CRT_SECURE_NO_WARNINGS...2.防止了命名污染(封装) 3.与define宏定义相比较: ①便于调试; 【用define定义的值不能调试,因为define是在程序预处理阶段就将代码进行改变了,而调试是在程序生成.exe可执行程序时才能进行调试...,因此不能对宏定义进行调试,而枚举可以被调试】 ②枚举类型由类型检查更加严谨(C语言中体现不多,但是C++会体现); 【只能拿枚举常量给枚举变量赋值才不会出现类型差异】 ③使用更方便,一次可以定义多个变量...,用define就得一个一个定义。...---- 总结 本文主要介绍了自定义类型中的结构体类型的相关知识,希望这篇文章对你理解结构体有所帮助。
public enum Spiciness{ NOT,MILD,MEDIUM,HOT,FLAMING } 这里创建了一个名为Spiciness的枚举类型,它具有5个具名值,由于枚举类型的实例是常量...,因此按照命名惯例它们都用大写字母表示(如果在一个名字中有多个单词,用下划线将它们隔开) 为了使用enum,需要创建一个该类型的引用,并将其赋值给某个实例: public class SimpleEnumUse...plain.describe(); greenChile.describe(); jalaeno.describe(); } } 大体上,你可以将enum用作另外一个创建数据类型的方式...,然后直接将所得到的类型拿来使用,这正是关键所在。
Java中的枚举 枚举前时代 在Java语言中, 枚举类型从JDK1.5才开始提供。...,功能也很有限,于是在Java 1.5 中定义了一个枚举类型:`java.lang.Enum`。...Java枚举的定义 类似类(class)和接口(interface)的定义,Java提供enum关键字用来定义枚举类,在IDEA中创建枚举类的菜单如下: 同样定义一个季节的枚举类, 代码可以简洁如下:...Java枚举类实现的原理探求 ava枚举类型的奥秘就在编译阶段,枚举类在编译后会生成了一个扩展java.lang.Enum的类。这个可以通过JDK自带的javap工具来反编译生成的.class文件。...从控制台输出的反编译后的源码可以看出: - 自定义的枚举类会自动继承`java.lang.Enum`类 - 每个成员变量都会被转换为 private static final的枚举类型的实例 - 自动添加
,可以使用之前定义过的宏定义。...){ printf("%s\n",*(b+i)); i++; } return 0; } 共用体(union)--数据类型 作用:在同一段内存种,存放不同类型的变量...a.ch='A'; printf("%d\n",a.i); printf("%c\n",a.ch); printf("%f\n",a.f); return 0; } 枚举类型...如果一个变量只有几种可能的值,则可以定义枚举类型。...enum--->常量整数 定义一个枚举类型,枚举类型种的元素,默认是从0开始的。
领取专属 10元无门槛券
手把手带您无忧上云