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

Java枚举

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

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

Java枚举

:MON 枚举位置:0 枚举类型:class com.tea.modules.java8.enums.WeekEnum 当前枚举名称:TUE 枚举位置:1 枚举类型:class com.tea.modules.java8...当前枚举名称:SAT 枚举位置:5 枚举类型:class com.tea.modules.java8.enums.WeekEnum 当前枚举名称:SUN 枚举位置:6 枚举类型:class com.tea.modules.java8...返回当前枚举枚举类中的索引,0开始 getDeclaringClass 返回枚举类的类型 Enum.valueOf() 返回与传入的名称相等的枚举,可能会抛出异常 switch配合枚举类编写状态机...这个可以反编译的文件中查看: 反编译 可以通过接口来让枚举实现一些通用的方法 定义一个接口,声明打印名字的能力 package com.tea.modules.java8.enums; /** *... * 因此 EnumMap 的速度很快,我们可以放心地使用 enum 实例在 EnumMap 中进行查找操作。

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 枚举查找并不抛异常的实现

Java Enum是一个非常有用的功能,但很多人通常并不能充分利用,这是因为一些库不会优先择用该功能。通常我们也可以正确使用Java枚举功能,但在许多代码库中往往存在着这样一个问题,于是有了这篇文章。...问题很简单:我们应该如何通过名称或值获取枚举,并忽略不存在的值? 枚举 这是我们将在示例中使用的枚举。 挑选更复杂的枚举是为了也可以通过其他字段展示查找枚举。 ? ?.../examples/common/EnumLookup.java#L169) ?...基本说来,这段代码将创建一个全局的静态地图,并以Enum的类名称键入,并将其用于查找。 ? ? ? 通过字段的进一步索引 这个完全相同的方法可以用于枚举的其他字段。...想要通过其显示的名称或其他属性来查找枚举并不少见。 通过字段索引的静态Map(较优) 与上述相同的方法,但是在显示名称上而不是枚举名称上进行索引。 ? ? ?

2.2K30

详解 Java 枚举

前言 枚举(enum)是 Java 语言的关键字之一,和 class 关键字一样,我们可以通过 enum 来定义一个枚举类,并在这个枚举类里面创建相关的枚举常量。...这篇文章里我们来看一下枚举Java 字节码层面是怎么表示的。...枚举类 我们来深入看一下 Java 编译器是怎么处理枚举的:在控制台上键入 javap -c TestEnum.class(类路径需要换成你自己的编译得到的类路径),即反编译查看 TestEnum.class...可以看到,Enum 类本身提供了两个属性(name 和 ordinal)来标识某个枚举对象,name 即为该枚举对象的名字,而 ordinal 为该枚举对象所在所有枚举常量中的序号( 0 开始,比如上述的枚举常量...好了,这篇文章就到这里了,相信到了这里你对 Java 枚举已经有了一个的详细的理解。如果觉得文章有什么不正确的地方,请多多指点,如果觉得本篇文章对你有帮助,请不要吝啬你的赞。 谢谢观看。。。

1.2K20

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枚举类型enum用法(java定义枚举常量类)

文章目录 枚举类的使用 如何定义枚举类 方式一: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 权限修饰符 枚举类的所有实例必须在枚举类中显式列出(, 用于分隔

3.6K20

swift 枚举(枚举关联值、枚举原始值、递归枚举等)

:Swift枚举在创建时未分配默认整数值。...原始值是在定义枚举时被预先填充的值。对于一个特定的枚举成员,它的原始值始终不变。关联值是创建一个基于枚举成员的常量或变量时才设置的值,枚举成员的关联值可以变化。...autumn case winter } 当使用字符串作为枚举类型的原始值时,每个枚举成员的隐式原始值为该枚举成员的名称 enum Season:String { case spring...) 使用原始值初始化枚举实例 可以通过rawValue初始化一个枚举成员,返回值则是枚举成员或nil 可以通过这个来判断这个新枚举成员是否在枚举值中 enum Season:Int { case...递归枚举是一种枚举类型 有一个或多个枚举成员使用该枚举类型的作为枚举成员 在枚举成员前加上indirect来表示该成员可递归 enum ArithmeticExpression { case

23610
领券