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

Java 枚举用法详解

在Java中,被 enum 关键字修饰的类型就是枚举类型。形式如下: enum Color { RED, GREEN, BLUE } 如果枚举不添加任何方法,枚举值默认为从0开始的有序数值。...以 Color 枚举类型举例,它的枚举常量依次为RED:0,GREEN:1,BLUE:2 枚举的好处:可以将常量组织起来,统一进行管理。 枚举的典型应用场景:错误码、状态机等。...枚举可以添加方法 在概念章节提到了,枚举值默认为从0开始的有序数值 。那么问题来了:如何为枚举显示的赋值。...这种枚举通过枚举嵌套枚举的方式,将枚举常量分类处理。 这种做法虽然没有switch语句简洁,但是更加安全、灵活。...EnumSet 是枚举类型的高性能Set实现。它要求放入它的枚举常量必须属于同一枚举类型。 EnumMap 是专门为枚举类型量身定做的Map实现。

2.3K100

Java枚举用法整理

在项目中,一般推荐使用枚举来代替常量接口和常量类。但是,枚举类的用途不仅仅是定义常量,还有其它较多的方法,比如:实现接口、定义抽象方法、当作单例使用等。...本文是对Java枚举使用方法的一个整理,并给出示例。...接下来,我们一起来看一些使用枚举的示例: 一、Java枚举类使用 声明枚举的语法如下: public/protected/private] enum Enum_name { ... ...} 1.1...1.3 获取枚举类中所有常量 可以通过枚举类的values() 方法获取指定枚举的常量数组,如: Coin[] coins = Coin.values(); for (Coin...如果一个方法,每个枚举常量的方法实现都是一样的,那么最好使用接口,不用抽象方法。实现接口,只要在枚举中实现一个接口方法即可;使用抽象方法,每个枚举中的常量都需要实现一遍抽象方法。

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

    Python枚举类型Enum用法

    枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合。...同时使用类获取属性的时候,输出的不是它的数值,而是会显示枚举项。这样更能增加代码的可读性。...Color.BLOCK=4 结果: 结果会报错 不存在 key 相同的枚举项(类变量) 在枚举类中存在相同的 key 值也是不允许的,比如下面代码有两个相同的 RED from enum...Key 都会当做别名 在枚举类中,可以有相同值,但是后面的枚举项都是第一个的别名 from enum import Enum class Color(Enum): RED = 1 BLUE...,还可以使用 Enum() 函数创建枚举类 from enum import Enum #创建一个枚举类 Color = Enum("Color",('red','green','blue')) #调用枚举成员的

    30110

    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.7K20

    三歪问我为啥用枚举枚举有哪些用法

    Java基础:枚举用法与原理 在学习过程中,我们也只是在定义常量的时候,会意识到枚举的存在,而定义常量其实可以在类中实现,这时就会感觉枚举有点鸡肋。...但在实际项目开发的过程中,枚举因相当迷人的特性而受到越来越多的关注。 本文将按以下小节点来,一一介绍枚举枚举的实现 枚举用法 枚举的原理 枚举与单例 1....枚举的实现 枚举是JDK1.5之后的特性,在此之前一般是在类中对常量进行定义。那么为什么需要枚举呢?...枚举用法 枚举类中有些方法还是比较常用的,在此演示几个比较重要的方法。...那么枚举有什么要注意的东西呢? 枚举使用的是enum关键字,而不是class; 枚举变量之间用逗号隔开,且枚举变量最好用大写,多个单词之间使用“_"隔开(INT_SUM)。

    1.1K60

    c++ enum,c++ 枚举,c++ enum应用场景,c++ enum用法,c++ 枚举用法

    (1).先看概念 枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。...(2).基本语法表示 enum 枚举名{       标识符[=整型常数],       标识符[=整型常数],  ...      ...标识符[=整型常数] } 枚举变量; 定义一个: enum fruit { apple,  banana, pear, fig } product; (3).上面的fruit和apple, banana...所以下面的写法都是瞎几把写,乱写,错误的写法 enum fruit {'a', 'b','c','d'}; enum fruit {100, 200,300,400}; (8).应用场景是可以代替const,普通变量使用枚举的元素的常量值的用法...可以enum可以帮助我们创建常量 //定义枚举 enum fruit {apple,banana,pear,fig}; //普通变量使用枚举元素的常量值 int a = apple;    //0 int

    56610

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

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

    30110

    枚举

    枚举就是尝试所有的可能性,尤其是当我们在确定一个问题是不是的这一类问题中尤其有用,例如说给一堆数,让我我们判断他们是不是素数,或者素数的数量的时候,这里他们就是判断类问题我们就可以使用枚举。 ​...但是注意这里我们需要考虑的就是枚举的方式,也就是枚举的角度。这里有一个小的例子就是最长回文子串的问题。 ​ 首先我们就是用一个最简单的方式就是枚举出所有的字串,然后在这些字串里面找回文串。...然后上面的方式枚举的对象就是所有的字串,但是我们仔细就会发现重点在于回文子串的中心,如果我们枚举的是回文子串的中心以及回文的长度,我们就更简单的找到最长回文子串。...这里是从 n 三次方降到了 n 平方的复杂度,这样的原因在于我们去掉了很多的无用的字串,第一个枚举的方法就是枚举所有的字串,然后第二个就是仅仅找出那些具有回文形式的字串,这样就少了一个 n 。...其实在枚举的过程中有的枚举并没有必要,因为这些就是用来占用了时间复杂度但是没有给程序带来多大的帮助。

    1.1K60

    【Java基本功】深入剖析Java枚举类的用法和原理

    本文介绍了枚举类的基本概念,使用方法,以及底层实现原理。帮助你更好地使用枚举类并且理解枚举类的内部实现细节。...因此,枚举类型是某类数据可能取值的集合,如一周内星期可能取值的集合为: { Sun,Mon,Tue,Wed,Thu,Fri,Sat} 该集合可定义为描述星期的枚举类型,该枚举类型共有七个元素,因而用枚举类型定义的枚举变量只能取集合中的某一元素值...由于枚举类型是导出数据类型,因此,必须先定义枚举类型,然后再用枚举类型定义枚举型变量。...enum   { };      其中:关键词enum表示定义的是枚举类型,枚举类型名由标识符组成,而枚举元素表由枚举元素或枚举常量组成。...枚举类型的定义只是定义了一个新的数据类型,只有用枚举类型定义枚举变量才能使用这种数据类型。

    3.7K41
    领券