Java基础系列:(2)关于枚举的简单总结

简介:

一 枚举类型简介

       在JDK1.5之前,Java是没有枚举类型的,只有:类和接口。当然,在一般情况下这两种类型就已经足够了,不过在某些特殊情况下就显得有点不合适了。比如:“春夏秋冬”组成的四季这个“数据集”就不能有其他元素;定义一个Color类,它只能有Red,Green,Blue这3个值。像这样只有几个固定的元素组成的“数据集”,其他的任何值都是非法的,这时我们就可以使用枚举类型。

       enum 的全称为 enumeration, 是 JDK 1.5  中引入的新特性,存放在 java.lang 包中。如果想要在JDK1.5之前实现类似枚举的功能,就必须依靠类似以下这种代码来完成。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package  javase.enumdemo;
 
public  class  Color {
     /**
      * 定义三个实例化对象,同时构造方法私有化,外部想要取得Color类的实例
      * 就只能通过RED,GREEN和BLUE这三个对象
      * */
相关文章
SpringBoot:Jar包工程启动、停止、重启脚本
SpringBoot:Jar包工程启动、停止、重启脚本
|
11月前
|
人工智能 监控 安全
智慧工地综合管理云平台SaaS源码:安全、高效、绿色、智能的建筑施工新生态
智慧工地平台通过整合物联网、人工智能、大数据等技术,实现了对工地人员、设备、环境、材料等方面的全面监测和管理。
498 4
|
11月前
|
JavaScript 开发者 UED
数据驱动方式的优缺点
【10月更文挑战第13天】 数据驱动是软件开发中,特别是在 Vue 等框架中的一种重要理念。它通过数据绑定简化代码结构,提高开发效率和可维护性,增强用户体验,促进团队协作,并提升性能和灵活性。然而,也存在初始学习成本高、数据绑定复杂、内存管理问题及调试难度大等挑战。总体而言,数据驱动在现代应用开发中具有显著优势,但也需谨慎应对潜在问题。
|
9月前
|
人工智能 自然语言处理 算法
Devika AI:开源的 AI 软件开发工具,理解和执行复杂的人类指令
Devika AI 是一款开源的 AI 软件开发工具,能够理解和执行复杂的人类指令。它通过分解任务、信息搜集和代码生成,帮助开发者提高效率,减少人工干预。本文将详细介绍 Devika AI 的功能、技术原理以及如何运行和配置该工具。
287 9
Devika AI:开源的 AI 软件开发工具,理解和执行复杂的人类指令
|
9月前
|
人工智能 容灾 关系型数据库
【AI应用启航workshop】构建高可用数据库、拥抱AI智能问数
12月25日(周三)14:00-16:30参与线上闭门会,阿里云诚邀您一同开启AI应用实践之旅!
|
10月前
|
算法 安全 量子技术
构建未来:量子计算在软件开发中的潜力
【10月更文挑战第29天】量子计算作为革命性的计算范式,正从理论走向实际应用。本文探讨了量子计算的基本概念、在软件开发中的潜在应用,如优化问题、药物发现和加密安全,以及如何通过学习量子编程语言和使用现有工具来实验和测试量子算法,展望其在未来软件开发中的重要作用。
|
11月前
|
存储 监控 物联网
|
11月前
|
存储 移动开发 数据管理
localStorage 和 sessionStorage 的相同与不同
`localStorage` 和 `sessionStorage` 是 HTML5 提供的两种 Web 存储机制,用于在用户的浏览器中存储数据。它们都采用键值对形式存储字符串数据,并遵循同源策略,容量约为 5-10 MB。两者均支持 `setItem`、`getItem` 等方法。主要区别在于存储期限和作用域:`localStorage` 数据持久化,适用于用户偏好设置等长期存储;`sessionStorage` 数据仅限当前会话,适用于表单信息等临时数据。根据需求选择合适的存储方式可提升用户体验和数据管理效率。
|
11月前
|
JavaScript 开发者 索引
Object.defineProperty详解!为什么会被vue3被抛弃?
【10月更文挑战第4天】Object.defineProperty详解!为什么会被vue3被抛弃?
Object.defineProperty详解!为什么会被vue3被抛弃?
|
10月前
光纤电缆(FOC)的结构深度解析
【10月更文挑战第21天】
317 0