Java枚举类使用】的更多相关文章

前言   Java枚举在项目中使用非常普遍,许多人在做项目时,一定会遇到要维护某些业务场景状态的时候,往往会定义一个常量类,然后添加业务场景相关的状态常量.但实际上,生产环境的项目中业务状态的定义大部分是由枚举类来完成的,因为更加清晰明确,还能自定义不同的方法来获取对应的业务状态值,十分方便.   以下代码均为生产环境已上线项目的代码片段,仅供参考. 使用   大体分为确定业务场景状态.定义枚举类.自定义查询方法.测试效果等几个部分. 1.确定业务场景状态   以我工作中实际的项目为例,智慧医院…
如果要定义一个枚举类: public enum Size { SAMLL, MEDIUM, LARGE, EXTRA, EXTRA_LARGE}; 实际上,这个声明定义的类型是一个类,它刚好有4个实例,在此尽量不要构造新对象. 因此,在比较两个枚举类型的值时,永远不需要调用equals,而直接使用"=="就可以了. 如果需要的话,可以在枚举类型中添加一些构造器.方法和域.当然,构造器知识在构造枚举常量的时候被调用.下面是一个示例: public enum Size { SMALL(&q…
枚举定义: enum是计算机编程语言中的一种数据类型.枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内.例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等.如果把这些量说明为整型, 字符型或其它类型显然是不妥当的.为此,C语言提供了一种称为“枚举”的类型.在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变 量取值不能超过定义的范围.应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型. java中枚举类总…
好久没有接触枚举类了,差不多都忘了,今天抽出个时间总结一下吧.说实话,枚举类确实能够给我们带来很大的方便. 说明:枚举类它约定了一个范围,可以理解成只可以生成固定的几个对象让外界去调用,故枚举类中的构造方法都是private类型的.进而求其次,究竟枚举类到底有何特殊之处呢? 呈上代码一览(本人也是java Android 领域的菜鸟,如有错误之处,希望大家能够给以指点) /** * 测试枚举类 * @author Administrator * @Date 2015-8-3 */ public…
enum关键字用于定义枚举类,若枚举只有一个成员, 则可以作为一种单例模式的实现方式.   枚举类对象的属性不应允许被改动, 所以应该使用 private final 修饰. 枚举类的使用 private final 修饰的属性应该在构造器中为其赋值. 若枚举类显式的定义了带参数的构造器, 则在列出枚举值时也必须对应的传入参数.   必须在枚举类的第一行声明枚举类对象. 枚举类和普通类的区别:        1.使用 enum 定义的枚举类默认继承了 java.lang.Enum 类      …
一.什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便? 二.为什么不用静态常量来替代枚举类呢? public static final int SEASON_SPRING = 1; public static final int SEASON_SUMMER = 2; public static final int SEASON_FALL = 3; public static final int SEASON_WINTER = 4; 枚举类更加直观,类…
枚举类enum是JDK1.5引入的,之前都是用public static final int enum_value来代替枚举类的.枚举类enum是一种特殊的类,它默认继承了类java.lang.Enum.和其它普通类一样,enum同样可以有成员变量.方法.构造器,也可以实现一个或多个接口,区别是: - 如果有构造器,必须用private修饰. - 枚举类不能派生子类. - 枚举类所有的实例必须在第一行显示定义.系统会自动给这些实例加上public static final修饰,无须程序员显示定义…
枚举类是在java 5后新增的,可以用于封装常量,并且还可以为常量的使用提供一些方法. 定义枚举类的语法: public enum EnumName{ 成员1(A,B...),成员2(A,B...),成员3(A,B....)........;//A,B可以没有,若A,B...都不存在,则就不会有本行代码之后的所有成员及相应方法 private Type A; private Type B; ...... private EnumName(Type a,Type b.......) //此处参数个…
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强. enum Signal { GREEN, YELLOW, RED } pu…
1. 枚举类定义 在某些情况下,一个类的对象是有限而且固定的,比如季节类,它只有4个对象,这种实例有限而且固定的类,在Java里被称为枚举类. 2. 早期实现枚举的方式 public static final int SEASON_SPRING = 1; public static final int SEASON_SUMMER= 2; public static final int SEASON_FALL = 3; public static final int SEASON_WINTER =…
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux.网络.多线程,偶尔讲点Docker.ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!(关注公众号后回复"资料"即可领取 3T 免费技术学习资源以及我我原创的程序员校招指南.Java学习指南等资源) 本文介绍了枚举类的基本概念,使用方法,以及底层实现原理.帮助你更好地使用枚举…
1.枚举类使用情况一: package com.bie.util; import java.util.HashMap; import java.util.Map; /** * * @author biehl * * @date 2018年8月2日上午9:18:16 * * @Notes 枚举,返回登陆结果案例 * */ public enum LoginResult { LOGIN_SUCCESS(, "登陆成功"), LOGIN_FAILED(, "登陆失败"),…
1.枚举是什么? Java中的枚举其实是一种语法糖,在 JDK 1.5之后出现,用来表示固定且有限个的对象.比如一个季节类有春.夏.秋.冬四个对象:一个星期有星期一到星期日七个对象.这些明显都是固定的,且有限个. 2.枚举类和普通类的区别 ①.使用 enum 定义的枚举类默认继承 java.lang.Enum 类,即枚举类是不能再继承别的类了.而普通类的一般父类默认是 Object ②.枚举类的构造器只能使用 private 定义,而普通类的还可以用 public 修饰 ③.枚举类的所有实例必须…
Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class,   它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口.   当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征. 1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例. 2.所有枚举值都是public   ,   static   ,   final的.注意这一点只是针对于枚举值,我们可以和在普通类里面定义   变量一样定义其它任何类型的非枚举变量…
一.什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便? 二.为什么不用静态常量来替代枚举类呢? public static final int SEASON_SPRING = 1; public static final int SEASON_SUMMER = 2; public static final int SEASON_FALL = 3; public static final int SEASON_WINTER = 4; 枚举类更加直观,类…
目录 初探枚举类 枚举类-语法 枚举类的具体使用 使用枚举类的注意事项 枚举类的实现原理 枚举类实战 实战一无参 实战二有一参 实战三有两参 枚举类总结 枚举 API 总结 参考文章 微信公众号 Java技术江湖 个人公众号:黄小斜 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star.Fork.Watch三连哈,感谢你的支持. 文章首发于我的个人博客…
1. 枚举类 1. 枚举类的使用 枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类. 当需要定义一组常量时,强烈建议使用枚举类. 如果枚举类中只有一个对象,则可以作为单例模式的实现方式. 1.2 如何定义枚举类 方式一:JDK1.5之前,自定义枚举类: 方式二:JDK1.5之后,可以使用enum关键词定义枚举类. 自定义枚举类的三个原则: 私有化类的构造器,保证不能再类的外部创建其对象: 在类的内部创建类枚举类的实例.声明为:public static final 对象如果有实例变量…
枚举类可以实现一个或多个接口.与普通类实现接口完全一样,枚举类实现接口时,需要实现该接口所包含的方法. 如果需要每个枚举值在调用同一个方法时呈现不同的行为,则可以让每个枚举值在{...}匿名块中实现自己的业务逻辑. public interface IGradeHandler { String getGrade(String studentName); } public enum GradeHandlerEnum implements IGradeHandler { //five grade l…
JAVA代码 public enum EnumTest { HELLO,WORLD } 字节码 public final class EnumTest extends java.lang.Enum<EnumTest> { public static final EnumTest HELLO; public static final EnumTest WORLD; public static EnumTest[] values(); Code: 0: getstatic #1 // Field…
枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似.不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围. java中的Enum类型更像是一个特殊的class,它可以有自己的数据域和方法. java中的Enum类型有如下特征: 1.他不能有public构造函数,用来保证其无法实例化. 2.所有的枚举类型是public static final 3.…
枚举类:有限而固定的类,使用enum关键字定义. 一个Java源文件中最多只能定义一个public访问权限的枚举类. 1.可实现一个或多个接口,默认集成了java.lang.Enum类(实现java.lang.Serializable和java.lang.Comparable两个接口),不能显示继承其他父类: 2.非抽象的枚举类默认使用final修饰,不能被继承: 3.构造器只能使用private 访问控制符(默认): 4.枚举类的所有实例必须在枚举类的第一行显示列出,否则这个枚举类永远都不能产…
1. 前言 在Java开发中我们为了避免过多的魔法值,使用枚举类来封装一些静态的状态代码.但是在将这些枚举的意思正确而全面的返回给前端却并不是那么顺利,我们通常会使用Jackson类库序列化对象为JSON,今天就来讲一个关于使用Jackson序列化枚举的通用性技巧. 2. 通用枚举范式 为了便于统一处理和规范统一的风格,建议指定一个统一的抽象接口,例如: /** * The interface Enumerator. */ public interface Enumerator { /** *…
枚举类的说明: 1.枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式. 如何自定义枚举类?步骤: //自定义枚举类 class Season{ //1.声明Season对象的属性:private final修饰 private final String seasonName; private final String seasonDesc; //2.私化类的构造器,并给对象属性赋值…
本文主要介绍的是枚举类,注解和反射.还有一些基础知识:static,基本数据类型,运算符优先级放在文中,以便查阅复习. 其中牵扯到泛型的部分,可参考本人的另一篇博客:(Collection, List, 泛型)JAVA集合框架一 1. static关键字 static可以修饰的有:属性,方法,代码块,内部类. 1.1 static修饰属性 按是否用static修饰分为静态属性和非静态属性(实例变量). 非静态属性(实例变量):当创建了类的多个对象,每个对象都独立拥有自己的非静态属性.当修改其中一…
目录 一.枚举类 ① 自定义枚举类 ② enum关键字定义枚举类 ③ enum 枚举类的方法 ④ enum 枚举类实现接口 二.注解 ① 生成文档相关注解 ②注解在编译时进行格式检查 ③注解跟踪代码的依赖性,实现替代配置文件功能 ④ 自定义注解 ⑤ jdk提供的4种元注解 ⑥ JKD8 新特性:可重复注解 ⑦ JDK8 新特性:类型注解 一.枚举类 类的对象只有有限个, 确定的. 我们称此类为枚举类. 说明: 类的对象只有有限个,确定的.如: 星期:Monday(星期一)........Sund…
枚举类的使用 定义一个简单的枚举类,其中包含若干枚举常量,示例如下: public enum Day { SUNDAY, MONDAY, TUESDAY, WEDNESDAY,THURSDAY, FRIDAY, SATURDAY } Java 的 switch 语句参数支持使用枚举类 // day是Day类型变量 switch (day) { case MONDAY: System.out.println("要开组会了好难受"); break; case THURSDAY: Syste…
小简博客 - 小简的技术栈,专注Java及其他计算机技术.互联网技术教程 (ideaopen.cn) 枚举类 如何创建 首先,从名字就可以看出,枚举是一个类,那么我们就可以直接在创建时选择枚举就可以. 或者我们也可以在普通类前面加上enum关键词. public enum Week {    MON,TUE,WED,THU,FRI,SAT,SUN} 然后格式就是使用,隔开. 使用枚举 values() 返回枚举类中所有的值. ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样.…
public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializable { private final String name; // 当前枚举常量名称 public final String name() { return name; } private final int ordinal; // 当前枚举常量次序,从0开始 public final int ordina…
作为一种长度固定,数据未定的一种存储数据集的数据类型,枚举类有如下方法可供参考. 普通类型的枚举类的创建 protected enum ColorEnum{ red,orange,yellow,green,blue,purple } 是的,就是这样,声明就可以了. 既然有普通类型,当然也会有不普通类型的了,接下来的是可以在枚举类中添加属性的枚举,如下 public enum SeasonEnum{ spring,summer,fall,winter; private final static S…
起因 最近在公司里敲代码的时候偶然间发现以前留下的枚举类实现了Serializable接口,然后写了个serialVersionUID...我以前一直没在枚举类里使用过..觉得有点神奇....于是百度了下又自己试验了下..记录了这篇文章 具体内容 枚举默认实现了Serializable接口 经过百度以后发现枚举类默认是实现了这个序列化接口的,所以在声明枚举类型的时候没必要额外impl Serializable. 枚举类不需要自己去写serialVersionUID 枚举类不需要定义 serial…