当前位置: 首页 > news >正文

Java 枚举的基本使用

一、枚举的概述

java 枚举(Enum)是一种特殊的数据类型,它允许你定义一组命名的常量。在 Java 中,枚举被实现为类,并且继承自 java.lang.Enum 类。枚举的使用可以提供类型安全、可读性强、易于理解的代码。

(1) 枚举的特点:

  1. 类型安全:枚举是类,因此它们有类的所有特性,包括类型安全。这意味着你不能将枚举实例强制转换为错误的类型。

  2. 自文档化:枚举的名称代表了常量的含义,这为代码提供了自然的文档化。

  3. 命名空间:枚举提供了一个命名空间,避免了名称冲突。例如,你可以有一个名为 Red 的枚举和一个名为 red 的变量,而不会发生冲突。

  4. 序列化:枚举可以被序列化,并且可以控制它们的序列化版本。

  5. 实现接口:枚举可以实现接口,这使得它们可以拥有接口的方法。

(2) 枚举的特殊方法:

  • name():返回枚举常量的名称。
  • ordinal():返回枚举常量的序号(从 0 开始)。
  • values():返回包含所有枚举常量的数组。

二、实战

2.1 创建一个枚举类

public enum Season {SPRING("春季"),SUMMER("夏季"),AUTUMN("秋季"),WINTER("冬季");private String name;Season(String name){this.name = name;}public String getSeason(){return name;}}

2.2 调用枚举类

@SpringBootTest
class DemoApplicationTests {@Testvoid contextLoads() {System.out.println(Season.SPRING);System.out.println(Season.SPRING.getSeason());System.out.println(Season.SPRING.ordinal());Season season  = Season.SUMMER;System.out.println(season);System.out.println(season.getSeason());System.out.println(season.ordinal());for(Season x : Season.values()){System.out.println(x);}}}

显示结果:

SPRING
春季
0
SUMMER
夏季
1
SPRING
SUMMER
AUTUMN
WINTER

http://www.lryc.cn/news/377914.html

相关文章:

  • Semaphroe + CountDown
  • 解读代理 IP差异:ISP 代理与住宅代理
  • maven-jar-plugin maven打包插件笔记
  • 云服务器部署Neo4j
  • day64 图论 图论理论基础 深搜 广搜 98. 所有可达路径
  • 从0进入微服务需要了解的基础知识
  • MySQL之复制(七)
  • Redis分片集群搭建
  • 请解释Java中的策略模式,并举例说明其应用场景和实现方式。请解释Java中的模板方法模式,并讨论其在实际项目中的应用。
  • Vim基础操作:常用命令、安装插件、在VS Code中使用Vim及解决Vim编辑键盘错乱
  • 基于Windows API DialogBox的对话框
  • 五十一、openlayers官网示例Layer Min/Max Resolution解析——设置图层最大分辨率,超过最大值换另一个图层显示
  • 24年计算机等级考试22个常见问题解答❗
  • obsidian制作自己的主题一文入门
  • 游戏心理学Day20
  • Serverless如何赋能餐饮行业数字化?乐凯撒思变之道
  • css系列:音频播放效果-波纹律动
  • WPF学习(1)--类与类的继承
  • Spring Boot框架的原理及应用详解(六)
  • 密码学与信息安全面试题及参考答案(2万字长文)
  • C++语法19 循环嵌套结构(for/while循环)
  • AtomicInteger原理和CAS与Synchronized(juc编程)
  • 抖音a_bogus,mstoken全参数爬虫逆向补环境2024-06-15最新版
  • 【机器学习】机器学习重要方法—— 半监督学习:理论、算法与实践
  • leetcode70 爬楼梯
  • ENVI实战—一文搞定非监督分类
  • 【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
  • 具身智能特点及实现路线
  • 重温react-04
  • lock-锁的概念