java enum 详解

前言

提示:使用enum 作为常量引发的一些思考和总结:


提示:以下是本篇文章正文内容,下面案例可供参考

一、enum (枚举)是什么?

        enum 的本质其实也是class,和普通的类一样,它继承自java.lang抽象类Enum,而抽象类Enum最终又继承自java.lang 包下的Object类(即是所有类的基类),它本身是作为java 中的一种特殊的类型而被设计。

二、enum(枚举)的作用?

        enum(枚举)常被用于作为一系列常量的集合,用于管理和维护这一系列具有共同类别的常量的容器,当然也可以使用常量接口进行常量的定义,不过既然有枚举那么肯定会有存在的意义,后面会在使用上对两种方式进行对比,枚举类不能被继承,也就是说相关的了逻辑方法只能在这里进行处理,他常常被用于做读取操作,所以会定义get方法,不提供set方法。

三、如何创建枚举?

代码如下(示例):

//enum 做为关键字
public enum SexType{//全部大写,单词之间使用下划线进行分割,括号类可以放多个数据,如(1,"男",...)这种形式//每一部分用逗号分隔,最后用分号结尾SEXTYPE_MAN("男"),SEXTYPE_WOMAN("女");//定义 值的key 通过key 可以拿到对应顺序的值private String  desc;//有参构造方法public SexType(String desc){this.desc = desc;}//get 方法public String getDesc(){return desc;}
}

四、常用方法说明:

1. enum.values() 返回一个枚举值的数组

代码如下(示例):

SexType[] sexArr =  SexType.values();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/28385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue43-单文件组件

一、脚手架的作用 单文件组件:xxx.vue,浏览器不能直接运行!!! 脚手架去调用webpack等第三方工具。 二、vue文件的命名规则 建议用下面的两种方式。(首字母大写!!!&#x…

CDN简介

CDN 的基本概念 CDN(Content Delivery Network),即内容分发网络。 CDN是一种分布式网络架构:它由分布在不同地理位置的服务器组成网络,这些服务器协同工作以提供内容服务。 内容分发的核心目标 确保用户能够快速、可…

?和??的用法 ---Javascript

当你在JavaScript中看到问号(?)和双问号(??)时,它们通常是用于条件处理和空值合并的操作符。 问号 ?: 在JavaScript中,问号? 可以用于条件运算符(ternary operator&#xff0…

鸿蒙解决JSON字段名和对象属性名之间的对应关系

HarmonyOS 中使用三方包 class-transformer 来进行解决。 class-transformer 是一个在 JavaScript 和 TypeScript 中用于对象和类之间进行转换的库。它特别有用在处理从 API 返回的 JSON 数据和将其转换为类的实例时,或者在序列化类的实例为 JSON 字符串时。 clas…

Window上ubuntu子系统编译Android

Window上ubuntu子系统编译Android 1、编译环境2、WSL2编译报错2.1 You are building on a machine with 11.6GB of RAM2.2 Case-insensitive filesystems not supported3. android模拟器调试 1、编译环境 AOSP : Android源码下载安装java:sudo apt-get install ope…

Spring @AliasFor用法

同注解内属性互为alias AliasFor的两端必须对称使用,如下name和value互为alias且两端的类型、默认值必须相同,在实际使用时仅赋值一个属性即可,若同时设置多个属性则要求值必须都相同通过Spring AnnotationUtils工具解析注解支持AliasFor,直…

黄仁勋勉励Caltech毕业生:勇于开拓“零十亿”潜力市场,孕育未来科技领袖

Nvidia的创始人兼首席执行官黄仁勋在加州理工学院(Caltech)2024届毕业生的毕业典礼上发表主题演讲时,鼓励毕业生们勇于探索“零十亿市场”——即目前价值不大,但未来潜力巨大的新兴市场。他分享了Nvidia早期如何在遭遇市场挫折后&…

Matlab自学笔记三十一:结构数组的创建、索引和预分配内存

1.概念 结构(structure array)是一种具有容器特性的数据类型,它使用称为字段的数据容器对相关数据进行分组,每个字段可以包含任何类型或大小的数据,所有元素都具有相同数量的字段和相同的字段名称。(与元胞…

Java锁之舞:性能分析与优化之路

目录 一、同步锁性能分析 (一)性能验证说明 1. 使用同步锁的代码示例 2. 不使用同步锁的代码示例 3. 结果与讨论 (二)案例初步优化分析说明 1. 使用AtomicInteger原子类尝试优化分析 2. 对AtomicInteger原子类进一步优化 …

机器学习面试-常见题目

文章目录 一、框架问题1. 监督学习和无监督学习有什么不同?2. 什么是深度学习,它与机器学习算法之间有什么联系?3. 如何评估机器学习模型的有效性?4. 如何确保模型没有过拟合?5. 什么是核技巧,有什么用处&a…

事件传播机制 与 责任链模式

1、基本概念 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,将请求沿着处理链传递,直到有一个对象能够处理为止。 2、实现的模块有: Handler(处理者):定义一个…

码蹄集部分题目(2024OJ赛19期;贪心集训)

1🐋🐋水温调节(黄金;贪心) 时间限制:1秒 占用内存:128M 🐟题目思路 贪心思路:先将两只水龙头的流速开到最大,温度高了,就把热水的流速降低一个…

Java:缓存行和伪共享

在Java中,缓存行(Cache Line)和伪共享(False Sharing)是与多线程访问共享数据相关的两个重要概念。以下是关于这两个概念的详细解释: 缓存行(Cache Line) 定义:缓存行是…

3.2. 马氏链-马氏链的构造及马氏性(1)

马氏链的构造及马氏性 1. 马氏链的构造本节首先构造马氏链, 即构造活动概率空间: 在序列空间中构造 P x , P μ P_x,P_\mu Px

新人学习笔记之(注释和关键字)

一、注释 1.什么是注释 (1)注释是在程序指定位置添加的说明性信息 (2)简单理解,就是对代码的一种解释 2.注释的分类 (1)单行注释 格式:// 注释信息 (2)多行注释 格式:/*注释信息*/ 3.注释的使用 (1)主要作用:增加代码的阅读性 4.注…

4_机械臂坐标系简介

一、坐标系的标准命名 为了规范起见,有必要给机器人和工作空间专门命名和确定专门的“标准”坐标系。 图3-27为一种典型的工况,机器人抓持某种工具,并把工具末端移动到操作者指定的位置。图3-27所示的5个坐标系就是需要命名的坐标系。这五个坐…

7z及7zip-cpp最高压缩比的免费开源压缩软件

7z介绍 7z是一种主流高效的压缩格式,它拥有极高的压缩比。在计算机科学中,7z是一种可以使用多种压缩算法进行数据压缩的档案格式。该格式最初由7-Zip实现并采用,但这种档案格式是公有的,并且7-Zip软件本身亦在GNU宽通用公共许可证…

MySQL分组聚合

where 与 having 的区别 & order by 假如我们有一张表,表名为 sales,如下所示: ----------------------------------------------------------------------------- | transaction_id | customer_id | product_name | price | quantit…

数据结构之B树的原理与业务场景

B树是一种自平衡的树形数据结构,它能够保持数据有序,并且可以高效地进行查找、顺序访问、插入和删除操作。B树的设计是为了优化磁盘I/O操作,因为它可以减少磁盘访问次数,这在数据库和文件系统中非常有用。 1. B树的原理 节点的出…