详细Java枚举类的使用!(代码分析)

Java基础之Java枚举 絮叨 昨天刚好有遇到一个枚举的小问题,然后发现自己并不是那么熟悉它,然后在开发中,枚举用的特别多,所以有了今天的文章。 什么是枚举 Java中的枚举是一种类型,顾名思义:就是一个一个列举出来。所以它一般都是表示一个有限的集合类型,它是一种类型,在维基百科中给出的定义是: 在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠.。枚举是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MO 阅读详情
package java;

/**
 * 一、枚举类的使用
 * 1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类
 * 2.当需要定义一组常量时,强烈建议使用枚举类
 * 3.如果枚举类中只有一个对象,则可以作为单例模式的实现方式。
 *
 * 二、如何定义枚举类
 * 方式一:jdk5.0之前,自定义枚举类
 * 方式二:jdk5.0,可以使用enum关键字定义枚举类
 *
 * 三、Enum类中的常用方法:
 *    values()方法:返回枚举类型的对象数组。该方法可以很方便地遍历所有的枚举值。
 *    valueOf(String str):可以把一个字符串转为对应的枚举类对象。要求字符串必须是枚举类对象的“名字”。如不是,会有运行时异常:IllegalArgumentException。
 *    toString():返回当前枚举类对象常量的名称
 *
 * 四、使用enum关键字定义的枚举类实现接口的情况
 *   情况一:实现接口,在enum类中实现抽象方法
 *   情况二:让枚举类的对象分别实现接口中的抽象方法
 */
public class SeasonTest {

    public static void main(String[] args) {
        Season spring = Season.SPRING;
        System.out.println(spring);

    }

}
//自定义枚举类
class Season{
    //1.声明Season对象的属性:private final修饰
    private final String seasonName;
    private final String seasonDesc;

    //2.私有化类的构造器,并给对象属性赋值
    private Season(String seasonName,String seasonDesc){
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;
    }

    //3.提供当前枚举类的多个对象:public static final的
    public static final Season SPRING = new Season("春天","春暖花开");
    public static final Season SUMMER = new Season("夏天","夏日炎炎");
    public static final Season AUTUMN = new Season("秋天","秋高气爽");
    public static final Season WINTER = new Season("冬天","冰天雪地");

    //4.其他诉求1:获取枚举类对象的属性
    public String getSeasonName() {
        return seasonName;
    }

    public String getSeasonDesc() {
        return seasonDesc;
    }
    //4.其他诉求1:提供toString()
    @Override
    public String toString() {
        return "Season{" +
                "seasonName='" + seasonName + '\'' +
                ", seasonDesc='" + seasonDesc + '\'' +
                '}';
    }
}
Windows 11 安装 Maven:下载、安装、配置国内镜像、验证 本文详细介绍了在 Windows 11 系统中安装与配置 Apache Maven 的完整流程,包括 JDK 环境准备、Maven 下载解压、本地仓库路径设置、阿里云国内镜像加速配置、环境变量设置及安装验证。同时提供了常用 Maven 命令速查表,帮助开发者快速上手依赖管理与项目构建,提升开发效率。 阅读详情

相关推荐

nnU-Net v2实战:从零开始配置环境与训练自定义医学影像数据集

本文详细介绍了nnU-Net v2在医学影像分割中的实战应用,从环境配置到自定义数据集训练的全流程。重点讲解了Python 3.9+环境搭建、PyTorch安装技巧、医学影像数据预处理规范,以及五折交叉验证训练方法,帮助开发者快速掌握这一先进的医学影像分析工具。

weixin_28718487的博客 352

Java枚举详解

枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数。枚举在曰常生活中很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等。类似这种当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型。 在 JDK 1.5 之前没有枚举类型,那时候一般用接口常量来替代。而使用 Java 枚举类型 enum 可以更贴近地表示这种常量。声明枚举 声明枚举时必须使用 enum 关键字,然后定义枚举的名称、可访问性、基础类型和成员等。枚举声明的语法如下: enum-modifier

Java后端技术栈 9079

《UE4游戏开发》之 《查cook资源失败,问题记录》

当项目打包时,cook出错,但是从原始引擎提供的信息中,没有提示具体的那个资源出错,要查到出错资源,还是非常麻烦。 下面就材质cook出错,增加一些日志,方便查找问题做简单记录 材质cook的一个阶段,是收集MaterialShaderMap,如果在这个阶段收集的信息出错,将会在FShaderMapContent::GetOutdatedTypes函数中,因为Shaders指针指向的内存有问题而出错,通过断点发现,FShaderMapContent这个类对象指针为null,而这个类对象的来源于AllMat.

qq_21919621的博客 2581

Java 枚举(超详细讲解)

Java语言的强大之处在于它提供了多种多样的类库,从而大大提高了程序的编程效率和质量。

AE_BD的博客 7299

eNSP网络构建—建立小型局域网

企业私有网络构建运维 实战案例——使用模拟器构建局域网络 案例分析 1.架构分析 (1)需求分析 本实验的目的在于建立小型局域网。由于公司由不同部门组成,并分布在不同地点,因此需要划分不同网络实现互联互通。设计以下网络:两个部门各使用一台交换机连接,然后连接到总交换机,再通过路由器与外网以及其他部门网络相连。为了控制网络上的广播风暴,增加网络的安全性,在交换机上需要设置VLAN,在路由器与交换机之...

_ 4万+

3张RTX 4090就能跑!BAGEL-7B多模态模型本地部署避坑指南(附Flash Attention安装技巧)

本文详细介绍了如何在3张RTX 4090显卡上本地部署BAGEL-7B多模态模型,包括硬件配置、环境设置、多卡并行优化及常见问题解决方案。特别提供了Flash Attention安装技巧和显存优化策略,帮助开发者高效运行这一开源多模态模型,实现文本与图像生成任务。

1a2s3d4f5g的博客 654

java 枚举详解

1、枚举值的命名规范通常使用大写字母,多个单词之间用下划线分隔(比如:INT_SUM)。 2、枚举值之间用逗号分隔,最后一个枚举值后面可以加分号,也可以省略分号。 3、枚举值系统会自动添加public static final进行修饰。 4、枚举构造方法是私有的,因为java 中的枚举包含固定的常量值。因此,没有理由使用公共或受保护的构造函数。

weiwobianguai的专栏 1591

高速DAC时钟与配置实战:DAC5681Z硬件设计与寄存器编程详解

在高速数据转换系统中,时钟信号是决定系统性能的核心要素,其稳定性和纯净度直接影响数模转换器(DAC)的输出频谱纯度与动态范围。时钟电路的设计原理涉及信号完整性、阻抗匹配与直流偏置,而内部锁相环(PLL)和延迟锁相环(DLL)的配置则是实现精确时序控制的关键技术。这些技术的价值在于,它们共同保障了高速通信、雷达和任意波形生成等应用对信号实时性与精度的严苛要求。本文聚焦于德州仪器(TI)的DAC5681Z,深入解析其外部时钟输入电路的硬件设计要点,包括端接电阻的计算与选型,并详细拆解通过串行外设接口(SPI)对

weixin_30342363的博客 189

【Java系列】深入解析枚举类型

Java 枚举(Enum)是一种特殊的数据类型,它是一组预定义的常量,每个常量都有一个名称和一个值。 枚举类型在 Java 中被广泛使用,它可以用来代替常量、标志位、状态码等,使代码更加清晰、易读和易维护。

颜淡慕潇 2万+

别再硬拔了!用这3个终端命令轻松搞定Mac上移动硬盘‘被程序占用’的问题

本文介绍了3个终端命令解决Mac上移动硬盘‘被程序占用’的问题,包括使用`diskutil list`定位硬盘、`lsof`查找占用进程以及`diskutil unmount`安全卸载。这些方法能有效避免数据风险,提升操作效率,特别适合开发者和技术爱好者。

weixin_33507732的博客 297

ESP32设备驱动-直流电机与L298N电机驱动器

在本文中,我们将介绍如何使用ESP32通过L298N电机驱动器驱动直流电机。

视觉与物联智能 3597

Java——枚举类

enum Day {MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY // 这里如果只是定义这些枚举常量的话,则这里不需要分号,// 如果后面还有其他成员,则需要分号实际上枚举类的构造器默认是私有的,如果你自己定义了一个构造器,没有加访问修饰符的话,就是默认 private 的。SPRING("温暖"),SUMMER("炎热"),AUTUMN("凉爽"),WINTER("寒冷");

Stewie Lee的博客 5878

飞牛fnNAS搭建私有云音乐库

本文介绍了在飞牛NAS上部署Navidrome音乐服务器的完整流程。首先创建音乐存储目录并安装Navidrome应用,然后配置管理员账号、语言设置和音乐路径。接着详细说明使用"音乐标签"软件刮削音乐元数据的方法,包括获取软件、导入音乐文件和自动匹配标签。针对远程访问需求,推荐使用ZeroTier实现内网穿透,并给出注册、创建网络及设备加入的具体步骤。最后介绍移动端使用"音流"APP连接Navidrome服务器的配置方法,实现手机端音乐播放。通过这套方案,用户可以搭建专

dgnankai的专栏 1827

Java 枚举类简单使用

1 简单的枚举类 // 创建一个枚举类 package com.lihaogn.test; public enum SeasonEnum { // 定义四个枚举实例 SPRING,SUMMER,AUTUMN,WINTER; } // 测试类 package com.lihaogn.test; public class Test { public static void main(St...

lihaogn的博客 9897

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Java枚举类 (详细解析java中的枚举类深入浅出)

下面使用枚举类实现体验枚举类的简洁方便 细节

weixin_45185267的博客 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

java-枚举类的定义及使用

文章目录枚举类的定义jdk5.0之前定义枚举类jdk5.0之后定义枚举类使用enum关键字定义枚举类使用enum关键字定义的枚举类实现接口 枚举类的定义 关于枚举类 1 枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 2 当需要定义一组常量时,强烈建议使用枚类类 3 如果枚举类中只有一个对象,则可以作为单例模式的实现方式。 如何定义枚举类 方式一:jdk5.0之前,自定义枚举类 方式二:jdk5.0之后,可以使用enum关键字定义枚举类 jdk5.0之前定义枚举类 /** * jdk5.0之

记录学习点滴 8933

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

JAVA中的枚举类:如何定义枚举类+枚举类的使用+枚举类中常用方法的介绍+一个枚举类的示例

Java中的枚举类,什么是枚举类、如何定义枚举类、枚举类型在switch中的作用、枚举类中的方法、枚举类的构造器、枚举类可以有哪些成员、如何在枚举类中定义抽象方法、枚举类中的两个特殊的方法:values()和valueOf(),最后写了一个枚举类的小例子,进一步理解枚举类

a289246的博客 7450

java枚举类的定义,使用,本质

关于枚举类 参考反编译那些事儿(二)—枚举的反编译 Java枚举类,你真的了解吗? 定义枚举类 public enum ResultCode { /** 有没有发现写枚举类的这一部分就像是在调用构造方法 */ SUCCESS(1, "成功"), PARAM_IS_INVALID(10001, "参数无效"), PARAM_IS_BLANK(10002, "参数为空...

AngerWind的博客 3520

java枚举类的作用及其使用

枚举类的引入 如何自定义枚举类 枚举类的作用 如何使用关键字enum定义枚举类 Enum类的主要方法 实现接口的枚举类 枚举类的对象只能是有限个的,确定的。 举例如下: 星期:Monday(星期一)、......、Sunday(星期天) 性别:Man(男)、Woman(女) 季节:Spring(春节)......Winter(冬天) 支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银 行卡)、CreditCard(信用卡) ...

qq_56457318的博客 3720

Java枚举类的使用

主要内容: 如何自定义枚举类 如何使用关键字enum定义枚举类 Enum类的主要方法 实现接口的枚举类 枚举类的使用 类的对象只有有限个,确定的。 举例如下: - 星期:Monday(星期一)、......、Sunday(星期天) - 性别:Man(男)、Woman(女) - 季节:Spring(春节)......Winter(冬天) - 支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银 行卡)、CreditCard(信用卡) - 就职状态:

码农翻身的博客 636

【Java】深入剖析Java枚举类

枚举类是Java 5引入的,在Java 5之前,Java并没有内置的枚举类型,只能通过自定义类来实现类似枚举的功能。...Java 枚举类是一种特殊类型的数据结构,一般用来存储定义一些字符串,数字等数据结构。枚举类中的每个常量都称为枚举常量。枚举类在Java中使用关键字enum定义。CONSTANT1,CONSTANT2,CONSTANT3,...其中,EnumClass为枚举类的名称,CONSTANT1、CONSTANT2、CONSTANT3等为枚举常量的名称。

锥栗的博客 1721

【Java基础】Java枚举类详解

注意:Java枚举中的values()方法是一个特殊的存在:​它并非由java.lang.Enum类提供,而是由Java编译器(javac)在编译枚举类时自动生成的。虽然自定义枚举类可以实现枚举类的特点,但是用枚举类实现更简洁快速,且代码可读性高,扩展性强,下面用枚举类实现该特点。2 枚举类隐式实现 java.lang.Enum类,不能继承其他类,但可以实现接口。6 为了符合枚举类特点,枚举类成员变量用private修饰,对外提供读取访问方法。3 枚举类本身被final修饰,不能被其他类继承。

weixin_43336978的博客 2677

创建枚举类 java_Java枚举类

Java枚举类创建自定义枚举类public class Season {// 属性private final String seasonName;private final String seasonDesc;// 构造器私有化,外接不能调用这个构造器private Season(String seasonName, String seasonDesc) {this.seasonName = se...

weixin_42545664的博客 2351

【 java 枚举类】java 枚举类

当类的对象只有有限个,确定的,像四季,每周的天数,支付方式,订单状态等等,或者当需要定义一组常量时,强烈建议使用枚举类!

阿牛的博客 1791

[Java枚举类] 枚举类的创建、Enum类中的常用方法、使用 enum 关键字定义的枚举类实现接口

根据尚硅谷的视频做的JUC学习笔记 目录一、枚举类的创建1. 自定义枚举类2. 使用 enum 关键字定义枚举类二、Enum 类中的常用方法三、使用 enum 关键字定义的枚举类实现接口1. 实现接口,在enum类中实现抽象方法2. 让枚举类的对象分别实现接口中的抽象方法 一、枚举类的创建 1. 自定义枚举类 步骤:(1)声明Season对象的属性:private final修饰(2)2.私有化类的构造器,并给对象属性赋值(3)提供当前枚举类的多个对象:public static final的(4)其他诉

qq_37109317的博客 1783

java枚举类的正确使用

规范使用枚举类 public enum StatEnum { SUCCESS(1,"成功"), END(0,"失败"), REPEAT_KILL(-1,"重复"), INNER_ERROR(-2,"系统异常"), DATA_REWRITE(-3,"数据异常"); private int state; private String stateInfo; StatEnum(int state, String stateInfo) {

Happywzy~的博客 680
上一篇: 阿里P7浅析Spring Boot面试问题| Baeldung
下一篇: String在Java中真的真的“不可变”吗?(附代码分析!)
Java_Yhua
博客等级 码龄6年 51粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值