Enum的作用
1.增加程序的可读性和可维护性,比如一些参数只能取那么几个值,而从参数类型上又看不出来有哪些值可以取。
2.可以保证单例,且比较时候可以用”==”来替换equals(同时可以利用枚举来实现单例)。
3.可以用switch,这个特点是用enum的一大原因
4.复杂的应用里,有很多字典表,这些字典表必须体现出其词性才有意义
5.类型安全, 不会出现非法参数
6.Enum 本身就是个普通的 class, 可以有很多自定义方法用来实现不同的功能
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的方法返回枚举值在枚举类种的顺序,这个顺序根据枚举值声明的顺序而定。
分享到:
相关推荐
本文实例总结了python模拟enum枚举类型的方法。分享给大家供大家参考。具体分析如下: python中没有enum枚举类型,可能python认为这玩意压根就没用,下面列举了三种方法模拟enum枚举类型 方法1. 使用自定义类 class...
### `typedef`用法详解及最佳实践 #### 引言 在C/C++编程语言中,`typedef`关键字被广泛用于提高代码的可读性、可维护性,并帮助创建平台无关的数据类型。本文旨在深入探讨`typedef`的功能、用法及其在实际编程中...
### 枚举型(Enum)的基本概念及其使用 #### 一、枚举型定义与特点 **枚举型**(Enum)是一种用户自定义的数据类型,它可以用来表示一组具有特定意义的整数值集合。通常情况下,枚举型用于定义一组固定的、有限的...
枚举学习资料小结 枚举类型是编程语言中的一种基本数据类型,它用于定义一组相关的符号常量。枚举类型的主要特点是可以使代码更易于维护、更清晰、更易于键入。下面是关于枚举类型的详细知识点: 1. 枚举类型的...
本章主要探讨了结构体(struct)、共用体(union)以及枚举(enum)三种基本数据结构,同时还涉及到了指针、函数参数以及常见的编程错误。 1. **结构体(struct)**:结构体是一种用户自定义的复合数据类型,允许...
C语言还提供了枚举类型(enum),它允许我们定义一组命名的整数常量,但这个话题会在后续章节中详细讲解。 变量是程序中存储数据的容器,它们需要先定义后使用。在C语言中,定义变量时需要指定其数据类型,如int、...
小结 术语 自测练习 自测练习答案 练习 第2章 控制结构 2.1 简介 2.2 算法 2.3 伪代码 2.4 控制结构 2.5 if选择结构 2.6 if/e1se选择结构 2.7 while重复结构 2.8 构造算法:实例研究1(计数器控制重复) 2.9 ...
枚举(Enum)在编程语言中是一种特殊的数据类型,用于定义一组预设的常量值。在Java、C#等语言中,枚举是经常使用的工具,它为代码提供了更强的可读性和类型安全性。本篇文章将围绕枚举展开讨论,结合`Enum Demo`...
PHP 面试题小结 在 PHP 面试中,面试官经常会问的一些基础题和简述题,本文将对这些问题进行总结和解释。 基础题: 1. 表单中 get 与 post 提交方法的区别? Get 是发送请求 HTTP 协议通过 URL 参数传递进行接收...
"Java关键字与标识符小结" Java语言中,关键字和标识符是两个重要的概念。关键字是被Java语言赋予了特殊含义的单词,总共有50个。它们被用来定义数据类型、流程控制、访问权限修饰符、类、函数、变量修饰符、类之间...
- 若要定义整个类中恒定的常量,应使用枚举常量,如`enum {size1=100, size2 = 200 };`,枚举常量在编译时被计算,不占用对象的存储空间,但它们的类型是整数,不能表示浮点数,且数值范围有限。 3. **const 修饰...
在iOS开发中,枚举(Enum)是一种非常重要的数据类型,它主要用于规范地定义代码中的状态、选项等常量,使得代码更具可读性和可维护性。枚举可以帮助开发者更清晰地表达意图,避免使用硬编码的整数值,提高代码的可...
- **VIDIOC_ENUM_FMT** - 列举设备支持的所有图像格式。 - **VIDIOC_S_FMT** - 设置当前使用的图像格式。 - **VIDIOC_G_FMT** - 获取当前使用的图像格式。 - **VIDIOC_TRY_FMT** - 测试图像格式是否有效。...
1.7 小结 第2章 数据抽象 2.1 声明与定义 2.2 一个袖珍C库 2.3 放在一起:项目创建工具 2.4 什么是非正常 2.5 基本对象 2.6 什么是对象 2.7 抽象数据类型 2.8 对象细节 2.9 头文件形式 2.10 嵌套结构 ...
1.7小结 第2章 数据抽象 2.1声明与定义 2.2一个袖珍C库 2.3放在一起:项目创建工具 2.4什么是非正常 2.5基本对象 2.6什么是对象 2.7抽象数据类型 2.8对象细节 2.9头文件形式 2.10嵌套结构 2.11小结 2.12练习 第3章 ...