Skip to main content

moregeek program

小小的枚举类,让代码变得更简洁_周杰伦本人的博客-多极客编程

小小的枚举类,让代码变得更简洁



坚持原创,写好每一篇文章



Java中的枚举类我们有时候把它当成一个字典来使用,它简化了代码,下面我们就看一看枚举类


枚举类使用关键字enum来定义,我们定义的枚举类都继承Enum类。我们都知道,java中的类只能有一个父类,所以我们定义的所有枚举类不能继承其他类了。


枚举类的遍历


枚举类有个values()方法,这个方法可以获取到所有的枚举实例,通过这个方法可以进行遍历枚举类


enum Xpp { CODE, SLEEP, EAT }

for(Xpp x : Xpp.values()) {
System.out.println(x.ordinal());
System.out.println(x.getDeclaringClass());
Xpp xpp = Enum.valueOf(Xpp.class, "CODE");
}

ordinal()方法是获取序列号,从0开始。


getDeclaringClass()方法是获取枚举实例所属的类,这里返回的是class Xpp,由此可以看出,枚举类也是类,它支持关键字比较特殊而已。因此枚举类中可以定义方法、属性等等,它和其他的类没有什么区别,枚举类中也可以添加main()方法,枚举类还可以实现接口


第三行代码调用了枚举类的valueOf()方法,通过调用形式我们就可以看出,它是一个静态方法,它会根据名称返回枚举类中的实例,如果实例不存在的话就抛出异常。


枚举类的values()方法来自哪里


我们上面的代码中表示使用枚举类的values方法可以获取枚举类的所有实例,但从它的父类中看,父类Enum类也没有values()方法的定义,那么它来自哪里呢?它其实是编译器为枚举类添加的静态方法。


总结


这篇文章我们简单了解了枚举类的使用,枚举类和我们的普通的类没有什么不同,只是它的关键字是enum,它继承了Enum类就不能继承别的类,但它可以定义方法和实现接口,重点介绍了一下values()方法的使用,在进行枚举类遍历的时候可以使用这个方法,这个方法是编译器为枚举类添加的方法。


❤️ 感谢大家


如果你觉得这篇内容对你挺有有帮助的话:



  1. 欢迎关注我❤️,点赞👍🏻,评论🤤,转发🙏
  2. 关注盼盼小课堂,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。
  3. 有不当之处欢迎批评指正。

©著作权归作者所有:来自51CTO博客作者周杰伦本人的原创作品,请联系作者获取转载授权,否则将追究法律责任

#yyds干货盘点# leetcode 腾讯精选练习 50 题:买卖股票的最佳时机_灰太狼_cxh的博客-多极客编程

题目:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候

#yyds干货盘点# 动态规划专题:删除相邻数字的最大分数_风的博客-多极客编程

1.简述:描述给定一个长度为 n 的仅包含正整数的数组,另外有一些操作,每次操作你可以选择数组中的任意一个元素  ,同时数组中所有等于  和  的元素会被全部移除,同时你可以得到  分,直到所有的元素都被选择或者删除。请你计算最多能得到多少分。数据范围: 数组长度满足  ,数组中的元素大小都满足 输入描述:第一行输入一个正整数 n 表示数组的长度第二行输入 n 个数字表示数组的各个元素值。输出描述

spring boot 中的配置体系,来了解一下_小冷的博客-多极客编程

Spring Boot 中的配置体系 在 Spring Boot 中,其核心设计理念是对配置信息的管理采用约定优于配置。 在这一理念下,则意味着开发人员所需要设置的配置信息数量比使用传统 Spring 框架时还大大减少。当然,今天我们关注的主要是如何理解并使用 Spring Boot 中的配置信息组织方式,这里就需要引出一个核心的概念,即 Profile。 配置文件与 Profile Profil

apache doris,一款优秀的高效分析型数据库_周杰伦本人的博客-多极客编程

Apache Doris,一款优秀的高效分析型数据库 坚持原创,写好每一篇文章 Apache Doris是大规模并行处理的分析型数据库,它是百度贡献给Apache的项目,使用Doris可以做一些bi报表数据分析 硬件要求 它支持MySQL客户端的访问,由于它是大规模并行处理的分析型数据库软件,所以它对硬件的要求比较高,一般测试环境下我们要求机器是8核的,内存8g以上,千兆网络,而生产环境的要求

万字详解jvm,让你一文吃透_华为云开发者社区的博客-多极客编程

摘要:本文将带大家详细地了解关于JVM的一些知识点。本文分享自华为云社区《​​【JVM】关于JVM,你需要掌握这些 | 一文彻底吃透JVM系列​​》,作者: 冰 河 。JDK 是什么?JDK 是用于支持 Java 程序开发的最小环境。Java 程序设计语言Java 虚拟机Java API类库JRE 是什么?JRE 是支持 Java 程序运行的标准环境。Java SE API 子集Java 虚拟机J

在springboot项目中使用shiro框架实现权限管理_记笔记/程序bug的博客-多极客编程

1、建立spring boot项目 目录结构这个样子的 <hr> 2、项目的jar包依赖 <dependencies> <!--整合shiro subject:用户 security manager:管理所有的用户 realm:连接数据库 -->

#冲刺创作新星# #跟着小白一起学鸿蒙# [十二]简单http客户端_鸿蒙社区的博客-多极客编程

作者:王石 在《#跟着小白一起学鸿蒙# [二] 第一个OpenHarmony程序》我们熟悉了如何在开源鸿蒙开发应用,并通过hdc工具拷贝至开发板运行。但是那时候我们只是打印了最简单的hello world,接下来我们就讲开发最常用的部分,一个简单的http客户端; 概述 HTTP 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件、图片文件、查询结果等); HTTP是一个属于应用层的面

#打卡不停更#三方库移植之napi开发[4]异步调用:callback&promise_鸿蒙社区的博客-多极客编程

三方库移植之NAPI开发系列文章《Hello OpenHarmony NAPI》、《C/C++与JS的数据类型转换》其接口都是同步的。对IO、CPU密集型任务需要异步处理。 NAPI支持异步模型,提供了Promise、Callback 2种方式。 计算密集型程序适合C语言多线程,I/O密集型适合脚本语言开发的多线程。 CPU密集型也叫计算密集型,指的是系统的硬盘、内存性能相对CPU要好很多,此

#yyds干货盘点# leetcode 腾讯精选练习 50 题:买卖股票的最佳时机_灰太狼_cxh的博客-多极客编程

题目:给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候

apache doris,一款优秀的高效分析型数据库_周杰伦本人的博客-多极客编程

Apache Doris,一款优秀的高效分析型数据库 坚持原创,写好每一篇文章 Apache Doris是大规模并行处理的分析型数据库,它是百度贡献给Apache的项目,使用Doris可以做一些bi报表数据分析 硬件要求 它支持MySQL客户端的访问,由于它是大规模并行处理的分析型数据库软件,所以它对硬件的要求比较高,一般测试环境下我们要求机器是8核的,内存8g以上,千兆网络,而生产环境的要求

万字详解jvm,让你一文吃透_华为云开发者社区的博客-多极客编程

摘要:本文将带大家详细地了解关于JVM的一些知识点。本文分享自华为云社区《​​【JVM】关于JVM,你需要掌握这些 | 一文彻底吃透JVM系列​​》,作者: 冰 河 。JDK 是什么?JDK 是用于支持 Java 程序开发的最小环境。Java 程序设计语言Java 虚拟机Java API类库JRE 是什么?JRE 是支持 Java 程序运行的标准环境。Java SE API 子集Java 虚拟机J

在springboot项目中使用shiro框架实现权限管理_记笔记/程序bug的博客-多极客编程

1、建立spring boot项目 目录结构这个样子的 <hr> 2、项目的jar包依赖 <dependencies> <!--整合shiro subject:用户 security manager:管理所有的用户 realm:连接数据库 -->