java中的枚举应该怎样深刻理解

2.所有枚举值都是public , static , final的。注意这一点只是针对于枚举值,我们可以和在普通类里面定义 变量一样定义其它任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。3.Enum默认实现了java.lang.Comparable接口。4.Enum覆载了了toString方法,因此我们如果调用Color.Blue.toString()默认...
java中的枚举应该怎样深刻理解
枚举是一种规范它规范了参数的形式,这样就可以不用考虑类型的不匹配并且显式的替代了int型参数可能带来的模糊概念 枚举像一个类,又像一个数组。

Enum作为Sun全新引进的一个关键字,看起来很象是特殊的class, 它也可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口。 当我们在声明一个enum类型时,我们应该注意到enum类型有如下的一些特征。

1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。

2.所有枚举值都是public , static , final的。注意这一点只是针对于枚举值,我们可以和在普通类里面定义 变量一样定义其它任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。

3.Enum默认实现了java.lang.Comparable接口。

4.Enum覆载了了toString方法,因此我们如果调用Color.Blue.toString()默认返回字符串”Blue”.

5.Enum提供了一个valueOf方法,这个方法和toString方法是相对应的。调用valueOf(“Blue”)将返回Color.Blue.因此我们在自己重写toString方法的时候就要注意到这一点,一把来说应该相对应地重写valueOf方法。

6.Enum还提供了values方法,这个方法使你能够方便的遍历所有的枚举值。

7.Enum还有一个oridinal的方法,这个方法返回枚举值在枚举类种的顺序,这个顺序根据枚举值声明的顺序而定,这里Color.Red.ordinal()返回0。2017-05-05
mengvlog 阅读 147 次 更新于 2025-09-09 19:12:06 我来答关注问题0
  • Java中的枚举 在Java 1.5之前,实现枚举功能通常采用接口静态常量或类静态常量,这虽然可以实现,但定义繁琐,且难以限制变量范围。Java枚举的定义 引入Java枚举类型(使用enum关键字)后,定义变得简洁明了。例如,定义季节枚举类如下:在枚举类中,常量遵循大写规则,每个枚举成员默认为final、public、static...

  •  翡希信息咨询 java中枚举是什么意思?

    在使用Java枚举时,可以使用switchcase语句来进行处理,这提供了更好的代码实现方式。附加方法和属性:Java的枚举可以附加方法和属性,比如枚举值的解释描述等,这些方法和属性可以在枚举内部进行定义。枚举的定义位置:Java中的枚举可以在类内部定义,也可以在单独的文件中进行定义。在定义枚举时,需要按照枚举...

  • 1.它不能有public的构造函数,这样做可以保证客户代码没有办法新建一个enum的实例。2.所有枚举值都是public , static , final的。注意这一点只是针对于枚举值,我们可以和在普通类里面定义 变量一样定义其它任何类型的非枚举变量,这些变量可以用任何你想用的修饰符。3.Enum默认实现了java.lang.Compa...

  •  文暄生活科普 《Java单例模式:从双检锁到枚举,一文说透高并发下的最佳实践》

    一般情况下,可以直接使用饿汉式单例,因为它简单且高效。如果明确要求要懒加载,可以倾向于使用静态内部类方式,因为它既保证了线程安全,又避免了每次调用时的同步开销。如果涉及到反序列化创建对象,可以试着使用枚举方式来实现单例,因为它能防止反序列化导致重新创建新的对象。

  •  翡希信息咨询 详解Java枚举类型(Enum)中的方法

    Java枚举类型中的方法主要包括以下几类:编译器生成的方法:values:这是一个静态方法,返回包含枚举类中所有枚举值的数组。例如,如果有一个枚举类Color,Color.values将返回包含所有Color枚举值的数组。valueOf:这也是一个静态方法,根据传入的字符串参数返回对应的枚举值。如果字符串不匹配任何枚举值,则...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部