首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java枚举

什么是枚举枚举是一种特殊数据类型,用于定义具有固定个数常量集。它可以帮助我们更好地管理常量,使代码更易于阅读和维护。Java枚举是一种高效、可读性强常量管理方式,它可以使代码更易于维护和扩展。...使用Java枚举可以帮助我们有效地组织常量,并将其用于多种场景,提高代码易用性和可重用性。如何使用Java枚举?...在Java中,定义枚举使用enum关键字,其基本语法结构如下:其中,EnumName表示枚举类型名称,CONSTANT1、CONSTANT2、……、CONSTANTN表示枚举类型中常量值。...如何使用Java枚举常量值?...在Java枚举中,我们可以为每个常量值添加方法,以进一步组织和管理常量。

15521
您找到你想要的搜索结果了吗?
是的
没有找到

Java枚举

枚举可以做什么 假设我们现在想表达星期,为了避免魔法值出现,我们可能会写一个常量类: package com.tea.modules.java8.enums; /** * com.tea.modules.java8...:MON 枚举位置:0 枚举类型:class com.tea.modules.java8.enums.WeekEnum 当前枚举名称:TUE 枚举位置:1 枚举类型:class com.tea.modules.java8...这个时候,可以使用抽象方法来定义每个枚举需要实现行为. package com.tea.modules.java8.enums; import lombok.Getter; /** * com.tea.modules.java8...这个可以从反编译文件中查看: 反编译 可以通过接口来让枚举实现一些通用方法 定义一个接口,声明打印名字能力 package com.tea.modules.java8.enums; /** *...{ /** * 打印枚举名字 */ void printName(); } 枚举类实现接口 package com.tea.modules.java8.enums

2.4K74

Java 枚举

枚举概念产生后,出现了新 enum 关键字: 定义枚举: package cn.mldn.utli; enum Color { //定义枚举类 RED,GRE,BLUE; // 表示此处为实例化对象...,和先前多例设计code相比较,枚举可以完全简化替代多例设计模式 枚举关键字 enum定义枚举类实际上就是继承了 Enum 类子类:   Enum是一个抽象类;Enum类中定义了两个方法:     ...|-- 取得枚举索引: public final int ordinal()     |-- 取得枚举名字: public final String name()     |-- 枚举类之中还有一个...RED("红色"),BLU("绿色"),GREEN("黄色"); //枚举对象定义在枚举类中首行 private String title ; // 枚举类中属性 private...  枚举使用根据个人是否习惯使用,不习惯使用可以依旧使用多例设计模式

1.1K10

Java枚举类型

如果类对象数量只有有限个,并且可以确定对象属性,那么考虑使用枚举类。...当然,构造器只是在构造枚举常量时候被调用。所有的枚举类型都是 Enum 类子类。它们继承了这个类许多方法。其中最有用一个是 toString() 方法,这个方法能够返回枚举常量名。...每个枚举类型都有一个静态 values() 方法,它将返回一个包含全部枚举数组。ordinal 方法返回 enum 声明中枚举常量位置,位置从 0 开始计数。...UserType common = UserType.valueOf("common"); // 返回具有指定名称指定枚举类型枚举常量 UserType common1 = Enum.valueOf..., Integer typeId) { this.typeName = typeName; this.typeId = typeId; }}参考资料《Java核心技术卷一

77750

详解 Java 枚举

前言 枚举(enum)是 Java 语言关键字之一,和 class 关键字一样,我们可以通过 enum 来定义一个枚举类,并在这个枚举类里面创建相关枚举常量。...这篇文章里我们来看一下枚举Java 字节码层面是怎么表示。...枚举类 我们来深入看一下 Java 编译器是怎么处理枚举:在控制台上键入 javap -c TestEnum.class(类路径需要换成你自己编译得到类路径),即反编译查看 TestEnum.class...java.lang.Enum { /* 定义了三个常量,即为我们在定义时书写三个枚举常量 */ public static final enum_.TestEnum...好了,这篇文章就到这里了,相信到了这里你对 Java 枚举已经有了一个详细理解。如果觉得文章有什么不正确地方,请多多指点,如果觉得本篇文章对你有帮助,请不要吝啬你赞。 谢谢观看。。。

1.2K20

Java枚举类型

Java枚举类型----每博一文案师父说:人活一世,每个人都有他特别,每个人都值得被温柔相待。...JDK 5.0 enum 定义枚举类在 Java 编程语言中,基于 JDK5.0 前提下,您可以使用 enum 关键字定义枚举类型。...enum 类继承不是 Object 类,而是 java.lang.Enum 类中,所以 Season2.SPRING 枚举常量类中没有重写 toStirng()方法前提下,调用java.lang.Enum...这个方法和我们以前方法是一样。和普通 Java 类一样,枚举类可以实现一个或多个接口。若每个枚举值在调用实现接口方法呈现相同行为方式,则只要统一实现该方法即可。...JDK5.0 enum 定义枚举父类是  java.lang.Enum 抽象类,不是 Object 类。

1.3K00

Java枚举类型原理

别急,看了我对这个类测试代码你就明白,测试代码如下: import java.lang.reflect.Modifier;   public class EnumDemoFour{  ...那么,我们应该这么理解枚举类型原理,首先enum Color继承了java.lang.Enum这个抽象类,但enum Color还是一个抽象类,所以它可以有抽象方法和非抽象方法。...使用Java普通类模拟枚举 import java.util.HashMap;   import java.util.Map;   /**  * 模拟星期中表示天,每个星期天都表示一个对象... * 1、类中每一个枚举成员都是该类一个实例对象  * 2、构造函数私有化  * 3、提供操作枚举成员抽象方法和静态方法  */ public abstract class ...//使用普通JAVA类模拟枚举应用         WeekDate weekDate = WeekDate.MON;       //获得一个枚举对象 //调用枚举中提供方法

1.4K80

Java枚举Enum

Java没有提供枚举时候,比如我们要使用一个表示周几枚举值怎么办? Java中是这样解决:定义一个私有的构造函数,然后在类中new出对象来。...我们可以定义枚举成员函数。...中枚举总结: 1.枚举也是一种特殊形式Java类 2.枚举类中声明每一个枚举值代表枚举一个实例对象 3.与Java中普通类一样,在声明枚举类时,也可以声明属性、方法构造函数,但枚举构造函数必须为私有的...4.枚举类也可以实现接口,或继承抽象类 5.若枚举只有一个枚举值,则可以当做单态设计模式使用 最后需要明确是: Java中声明枚举类,均是java.lang.Enum类子类,它继承了Enum...具体方法可以参考Java API文档,里面提供了一些有用方法。

1.1K20

Java枚举

Java 枚举是一个特殊类,一般表示一组常量,比如一年 4 个季节,一个年 12 个月份,一个星期 7 天,方向有东南西北等,订单状态。...Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。 1.定义一个枚举类。...java.lang.Enum 类,并实现了 java.lang.Seriablizable 和 java.lang.Comparable 两个接口。...ordinal()方法可以找到每个枚举常量索引,就像数组索引一样。 valueOf()方法返回指定字符串值枚举常量。...枚举既可以包含具体方法,也可以包含抽象方法。 如果枚举类具有抽象方法,则枚举每个实例都必须实现它。 枚举类中抽象方法实现,需要枚举类中每个对象都对其进行实现。

1K10

Java枚举细节

枚举简单使用 在java中,我们可以使用enum关键字来定义枚举: public enum Color { RED, GREEN, BLUE; } 就像上面一样,我们定义了一个名为Color...虽然Java提供枚举定义,但是实际上他并不是Java中一个新对象类型,我们通过对Color枚举类进行反编译,得到如下反编译结果: $ javap Color.class // 反编译结果 Compiled...); static {}; } 我们可以看到,枚举类实际上在编译过程中,被编译器进行调整,它并不是一个新类型,本质上依然是一个类(Color),这个类继承了java.lang.Enum,而对于每一个枚举常量...同时注意,编译器会为我们添加两个新static方法:values() 和 valueOf(java.lang.String),其实分别作用是返回枚举类中定义所有的枚举常量,以及根据枚举名来获取枚举常量...当然,由于每一个枚举常量实际上是实现了java.lang.Enum枚举一个静态实例对象,而这个过程是编译器为我们进行,所以,自然,我们可以在枚举类中定义任何方法、变量,以及构造函数定义: public

19920

java枚举

一、 枚举说明 枚举理解:类对象只有有限个,确定。 当需要定义一组常量时,强烈建议使用枚举类 如果枚举类只一个对象,则可以作为单例模式实现方式。...二、如何定义枚举类 ① 自定义枚举类 class Season{ // 1.声明Season对象属性:private final修饰 private final String seasonName...// 使用enum关键枚举类 enum Season1{ // 1.提供当前枚举对象,多个对象之间用“,”隔开,末尾对象";"结束 SPRING("春天","春暖花开"),...,枚举类常用方法:(继承于 java.lang.Enum 类) value() 返回所有的枚举类对象构成数组 valueOf(String objName):返回枚举类中对象名是 objName 对象...interface Info{ void show(); } // 使用enum关键字枚举类 enum Season2 implements Info{ //1.提供当前枚举对象,

72140

java枚举

枚举类简介: Java5新增了一个enum关键字(它与class、interface关键字地位相同),用以定义枚举类。...枚举类也是一种特殊类,所以也具有和类相同变量和方法,也可以定义自己构造器。...: 1、枚举类可以实现一个或多个接口,使用enum定义枚举类默认继承了 java. lang Enum类,而不是默认继承 Object类,因此枚举类不能显式继承其他父类。...其中 java. lang Enum类实现了java. lang Serializable和 java. lang. Comparable两个接口。...4、枚举所有实例必须在枚举第一行显式列出,否则这个枚举类永远都不能产生实例。列出这些实例时,系统会自动添加 public static final修饰,无须程序员显式添加。

1.3K10
领券