在Java没有提供枚举的时候,比如我们要使用一个表示周几的枚举值怎么办? Java中是这样解决的:定义一个私有的构造函数,然后在类中new出对象来。...public enum Date { Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday; } 如果我要定义这样一个枚举类,让它能够返回对应日期的中文怎么办...中枚举的总结: 1.枚举也是一种特殊形式的Java类 2.枚举类中声明的每一个枚举值代表枚举类的一个实例对象 3.与Java中普通类一样,在声明枚举类时,也可以声明属性、方法构造函数,但枚举类的构造函数必须为私有的...4.枚举类也可以实现接口,或继承抽象类 5.若枚举只有一个枚举值,则可以当做单态设计模式使用 最后需要明确的是: Java中声明枚举类,均是java.lang.Enum类的子类,它继承了Enum...具体方法可以参考Java API文档,里面提供了一些有用的方法。
完整代码示例如下: package com.merryyou.enmu; import java.util.EnumMap; import java.util.EnumSet; /** * Created...你必须确保是int,其次,你还要确保它的范围是0和1最后,很多时候你打印出来的时候,你只看到 1 和0 , 可以创建一个enum类,把它看做一个普通的类。除了它不能继承其他类了。...(java是单继承,它已经继承了Enum),可以添加其他方法,覆盖它本身的方法 switch()参数可以使用enum了 values()方法是编译器插入到enum定义中的static方法,所以,当你将enum...enum中的元素,在一个接口的内部,创建实现该接口的枚举,以此将元素进行分组。...enum要求其成员都是唯一的,但是enum中不能删除添加元素。 EnumMap的key是enum,value是任何其他Object对象。 enum允许程序员为eunm实例编写方法。
---- 枚举类是Java5引进的特性,其目的是替换int枚举模式或者String枚举模式,使得语义更加清晰,另外也解决了行为和枚举绑定的问题. int枚举模式 在枚举类之前该模式被广泛使用,如果是int...Java作为强类型语言,该模式让其失去了强类型优势....构造函数前两个默认为枚举字段名称,以及所处的顺序.也就是Enum中的name与ordinal....先看下valueOf方法也就是反序列化的实现 public static > T valueOf(Class enumType,...使用建议 关于使用建议,参考阿里巴巴Java开发手册中的三条建议,以及笔者的一条建议 所有的枚举类型字段必须要有注释,说明每个数据项的用途。
最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?...Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型。...比如我们定义红灯、绿灯和黄灯的代码可能如下: public enum Light { RED , GREEN , YELLOW ; } 我们只能够表示出红灯、绿灯和黄灯,但是具体的值我们没办法表示出来。...你必须确保是int 其次,你还要确保它的范围是0 和1 最后,很多时候你打印出来的时候,你只看到 1 和0 , 但其没有看到代码的人并不知道你的企图,抛弃你所有旧的public static final...可以创建一个enum 类,把它看做一个普通的类。除了它不能继承其他类了。(java 是单继承,它已经继承了Enum), 可以添加其他方法,覆盖它本身的方法 3.
这个时候就体现出枚举类的作用了,java中枚举类型就是针对这样的场景需求所设计的。.../** * 枚举类的后缀建议为Enum,枚举类型的实例对象建议全大写(这样做符合JAVA的规范) */ public enum SeasonEnum{ SPRING,SUMMER,AUTUMN...public enum SeasonEnum { //枚举类的实例对象必须在最前面先定义,而且必须每个实例对象都必须维护上chinese成员变量 SPRING("春天"),SUMMER(...其实枚举类型可以看做我们平时新建.java差不多,只是枚举类限制了此类的实例对象。当然,枚举类可以有自己的成员变量和方法。...如果想看它更多用法请参考下面的链接 更多用法请参考这篇Java 枚举(enum) 详解7种常见的用法_请叫我大师兄_的博客-CSDN博客_java 枚举的定义与用法 版权声明:本文内容由互联网用户自发贡献
前言 本文主要讲解Java的其他两个重要的技术点:枚举类(Enum)和注解(Annotation),这两个在平时开发中经常用于公共工程。...枚举类是一种特殊的类,用于定义一组常量(final variables)。通过使用enum关键字定义枚举类,每个枚举常量都是枚举类的一个实例,并且具有名称和值。...要自定义注解,需要创建一个接口或抽象类,并使用@Target和@Retention注解来指定该注解可以用于哪些元素,并指定该注解在运行时是否可用 一、Java枚举类Enum 1.自定义枚举类...枚举类是通过关键字enum来定义的,每个枚举常量都是枚举类的一个实例,并且具有名称和值。...总结 Java枚举类(Enum)和注解(Annotation)都是Java语言中重要的特性,它们提供了一种方便的方式来定义常量、提供元数据信息和实现各种功能。
java.util.EnumSet和java.util.EnumMap是两个枚举集合。...在其他类中使用enum变量的时候,只需要【类名.变量名】就可以了,和使用静态变量一样。...你可以定义任何你想要的变量。学完了这些,大概枚举类你也应该掌握了,但是,还有没有其他用法呢? 枚举类中的抽象类 如果我在枚举类中定义一个抽象方法会怎么样?...而且,你看到了熟悉的values()方法和valueOf()方法。 仔细看,这个类继承了java.lang.Enum类!所以说,枚举类不能再继承其他类了,因为默认已经继承了Enum类。...enum允许程序员为eunm实例编写方法。所以可以为每个enum实例赋予各自不同的行为。 【java.util.EnumSet和java.util.EnumMap】
Java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?...Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型。...比如我们定义红灯、绿灯和黄灯的代码可能如下: public enum Light { RED , GREEN , YELLOW ; } 我们只能够表示出红灯、绿灯和黄灯,但是具体的值我们没办法表示出来...你必须确保是int 其次,你还要确保它的范围是0 和1 最后,很多时候你打印出来的时候,你只看到 1 和0 , 但其没有看到代码的人并不知道你的企图,抛弃你所有旧的public static final...可以创建一个enum 类,把它看做一个普通的类。除了它不能继承其他类了。(java 是单继承,它已经继承了Enum), 可以添加其他方法,覆盖它本身的方法 3.
背景 最近开始做的一个项目使用facebook的ReactJS前端框架。...这样的代码感觉还行,起码比字串漫天飞舞的情况好很多。不过我发现诸如curMode == AppMode.LOG_IN类型的代码太多了,写起来不太舒服,而且总是要求我require('.....所以就搞了这个简单的工具gen_enum: 用法 npm install gen_enum var createEnum = require('gen_enum'); var COLORS = createEnum...如果环境(IE8或更早的版本)不支持Object.freeze,则返回的枚举结构不具备只读特性。...项目地址: https://github.com/greenlaw110/enumjs https://www.npmjs.com/package/gen_enum
Java枚举(enum)七种常见的用法汇总如下: JDK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。...implements Food{ FRUIT, CAKE, GELATO } } 用法七:关于枚举集合的使用 java.util.EnumSet和java.util.EnumMap...可以使用 == 来比较enum实例。 此外,java.lang.Enum实现了Comparable和 Serializable 接口,所以也提供 compareTo() 方法。...在C/C++语言中的enum,可以用赋值符号=显示的为枚举常量赋值;但是 ,很遗憾,Java 语法中却不允许使用赋值符号 = 为枚举常量赋值。...(8.0, 100)); EnumSet和EnumMap Java 中提供了两个方便操作enum的工具类——EnumSet 和 EnumMap。
而且 Java 要求必须先定义 enum 实例。...和java.util.EnumMap是两个枚举集合。...比如我们定义红灯、绿灯和黄灯的代码可能如下: public enum Light { RED, GREEN, YELLOW; } 我们只能够表示出红灯、绿灯和黄灯,但是具体的值我们没办法表示出来...你必须确保是int 其次,你还要确保它的范围是0和1 最后,很多时候你打印出来的时候,你只看到 1 和0 , 但其没有看到代码的人并不知道你的企图,抛弃你所有旧的public static final常量...(java是单继承,它已经继承了Enum), 可以添加其他方法,覆盖它本身的方法 3. switch()参数可以使用enum了 4. values()方法是编译器插入到enum定义中的static方法,
从字节码知 Gender 是 final 的 Gender 继承自 java.lang.Enum 类 声明了字段对应的两个 static final Gender 的实例 实现了 values() 和...java.util.EnumSet和java.util.EnumMap是两个枚举集合。...你可以定义任何你想要的变量。学完了这些,大概枚举类你也应该掌握了,但是,还有没有其他用法呢? 枚举类中的抽象类 如果我在枚举类中定义一个抽象方法会怎么样?...而且,你看到了熟悉的values()方法和valueOf()方法。 仔细看,这个类继承了java.lang.Enum类!所以说,枚举类不能再继承其他类了,因为默认已经继承了Enum类。...enum允许程序员为eunm实例编写方法。所以可以为每个enum实例赋予各自不同的行为。 【java.util.EnumSet和java.util.EnumMap】
《Java编程思想》中有这么一句话:“有时恰恰因为它,你才能够‘优雅而干净’地解决问题”——这句话说的是谁呢?就是本篇的主角——枚举(Enum)——大家鼓掌了。...随着时间的推移,我做的项目越来越多,和枚举见面的机会也越来越多,于是我就渐渐地对它越来越有兴趣,研究得多了,才发现原来枚举如此的优秀。...这段代码实际上调用了3次Enum(String name, int ordinal)(ordinal单词的意思为顺序),也就是: new Enum("WANGER", 0); new Enum...读者福利: 分享免费学习资料 针对于Java程序员,我这边准备免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、MyBatis,Netty,Redis,Kafka,Mysql...希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持! 资料领取方式:加入Java技术交流群963944895,点击加入群聊,私信管理员即可免费领取
大家好,又见面了,我是全栈君 enum Countries { 中国 = 5, 美国, 俄罗斯, 英国, 法国 } enum...和 int enum -> int int num = (int)Countries.中国; //num=5 int[] nums = (int[])Enum.GetValues(typeof...(Countries)); //nums={5,6,7,8,9} int -> enum Countries country = (Countries)8; //country=Countries.英国...//http://hovertree.com/menu/csharp/ enum 和 string enum -> string string str1 = Countries...[] strArray = Enum.GetNames(typeof(Countries)); //strArray={“中国”,”美国”,”俄罗斯”,”英国”,”法国”}; string-> enum
在编程语言中我们,都会接触到枚举类型,通常我们进行有穷的列举来实现一些限定。Java也不例外。Java中的枚举类型为Enum,本文将对枚举进行一些比较深入的剖析。...什么是Enum Enum是自Java 5 引入的特性,用来方便Java开发者实现枚举应用。一个简单的Enum使用如下。...); static {}; } 从上反编译结果可知 java代码中的Season转换成了继承自的java.lang.enum的类 既然隐式继承自java.lang.enum,也就意味java代码中,Season...因此传统的做法想要实现单例,大致有一下几种 饿汉式加载 懒汉式synchronize和双重检查 利用java的静态加载机制 相比上述的方法,使用枚举也可以实现单例,而且还更加简单. public enum...Java中enum的一些深入的剖析,欢迎大家不吝赐教。
在编程语言中我们,都会接触到枚举类型,通常我们进行有穷的列举来实现一些限定。Java也不例外。Java中的枚举类型为Enum,本文将对枚举进行一些比较深入的剖析。...什么是Enum Enum是自Java 5 引入的特性,用来方便Java开发者实现枚举应用。一个简单的Enum使用如下。...); static {}; } 从上反编译结果可知 java代码中的Season转换成了继承自的java.lang.enum的类 既然隐式继承自java.lang.enum,也就意味java代码中,...因此传统的做法想要实现单例,大致有一下几种 饿汉式加载 懒汉式synchronize和双重检查 利用java的静态加载机制 相比上述的方法,使用枚举也可以实现单例,而且还更加简单. public enum...Java中enum的一些深入的剖析,欢迎大家不吝赐教。
大家好,又见面了,我是你们的朋友全栈君。 一、概述 输入输出可以说是计算机的基本功能。作为一种语言体系,java中主要按照流(stream)的模式来实现。...Java语言体系中,对数据流的主要操作都封装在java.io包中,通过java.io包中的类可以实现计算机对数据的输入、输出操作。...在编写输入、输出操作代码时,需要用import语句将java.io包导入到应用程序所在的类中,才可以使用java.io中的类和接口。...2.使用java.io.BufferedReader和java.io.InputStreamReader: 步骤: (1)使用java.io包。...System.out.printf(); 这个方法延续了C语言的输出方式,通过格式化文本和参数列表输出。
DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。...,那么必须在enum实例序列的最后添加一个分号。...而且 Java 要求必须先定义 enum 实例。...implements Food{ FRUIT, CAKE, GELATO } } 用法七:关于枚举集合的使用 java.util.EnumSet和java.util.EnumMap...关于枚举的实现细节和原理请参考:《ThinkingInJava》第四版 原文:http://suo.im/4n4inp
package com.newrank.xdf.common.enums; /** * @author dencycheng * @date 2019/11/14 11:37 */ public enum
领取专属 10元无门槛券
手把手带您无忧上云