Java枚举类与常用方法
小简博客 - 小简的技术栈,专注Java及其他计算机技术、互联网技术教程 (ideaopen.cn)
枚举类

如何创建
首先,从名字就可以看出,枚举是一个类,那么我们就可以直接在创建时选择枚举就可以。
或者我们也可以在普通类前面加上enum关键词。
public enum Week {
MON,TUE,WED,THU,FRI,SAT,SUN
}
然后格式就是使用,隔开。
使用枚举
values()返回枚举类中所有的值。
ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样。
valueOf()方法返回指定字符串值的枚举常量。
该方法为静态方法,调用者为枚举类,不是枚举值;
该方法形参只要一个String类型的值即可,并且该String值为枚举值对应的名称,即toString()方法返回的值(比如枚举类为SPRING,对应的名称就是"SPRING"),所以肯定是需要双引号的;
扩展方法
compareTo(E o)方法:则是比较枚举的大小,注意其内部实现是根据每个枚举的ordinal值大小进行比较的。
name()方法与toString():几乎是等同的,都是输出变量的字符串形式。
getDeclaringClass(): 返回该枚举变量所在的枚举类。
使用示例

首先我们定义了一个枚举类,在Week2包里面。
创建一个测试类,代码如下,我将常用方法挨个使用了一遍。
package Week2;
public class EnumTest {
public static void main(String[] args) {
//返回枚举类Week2.Week中的值
System.out.println(Week.MON);
//values()方法返回枚举类Week2.Week中指定索引的值
System.out.println(Week.values()[0]);
//找到枚举类Week2.Week中值为MON的索引
System.out.println(Week.MON.ordinal());
//返回指定字符串的枚举常量
System.out.println(Week.valueOf("MON"));
//枚举大小比较
System.out.println(Week.MON.compareTo(Week.TUE));
//枚举name()方法
System.out.println(Week.MON.name());
//枚举toString()方法
System.out.println(Week.MON.toString());
//枚举getDeclaringClass()方法
System.out.println(Week.MON.getDeclaringClass());
//遍历枚举类Week2.Week
for (Week day : Week.values()) {
System.out.print(day+" ");
}
}
}
运行后结果如下。

作用请挨个代码对照输出。
//values()方法返回枚举类Week2.Week中指定索引的值
System.out.println(Week.values()[0]);
这个方法的话,values()方法如果不在后面使用[索引下标],那么他将会输出一串地址,而不是值,后面的[ ]里面加上下标就可以输出对应值了。
Java枚举类与常用方法的更多相关文章
- Java枚举类在生产环境中的使用方式
前言 Java枚举在项目中使用非常普遍,许多人在做项目时,一定会遇到要维护某些业务场景状态的时候,往往会定义一个常量类,然后添加业务场景相关的状态常量.但实际上,生产环境的项目中业务状态的定义大部 ...
- Java枚举类和注解梳理
1. 枚举类 1. 枚举类的使用 枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类. 当需要定义一组常量时,强烈建议使用枚举类. 如果枚举类中只有一个对象,则可以作为单例模式的实现方式. ...
- java枚举类学习笔记总结
枚举类的说明: 1.枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式. 如何自定义枚 ...
- Java枚举类、注解和反射
本文主要介绍的是枚举类,注解和反射.还有一些基础知识:static,基本数据类型,运算符优先级放在文中,以便查阅复习. 其中牵扯到泛型的部分,可参考本人的另一篇博客:(Collection, List ...
- Java 枚举类
如果要定义一个枚举类: public enum Size { SAMLL, MEDIUM, LARGE, EXTRA, EXTRA_LARGE}; 实际上,这个声明定义的类型是一个类,它刚好有4个实例 ...
- Java String类的常用方法
String(byte[ ] bytes):通过byte数组构造字符串对象. String(char[ ] value):通过char数组构造字符串对象. String(Sting original) ...
- java 枚举类 enum 总结
枚举定义: enum是计算机编程语言中的一种数据类型.枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内.例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等.如果把这些量 ...
- java 枚举类小结 Enum
好久没有接触枚举类了,差不多都忘了,今天抽出个时间总结一下吧.说实话,枚举类确实能够给我们带来很大的方便. 说明:枚举类它约定了一个范围,可以理解成只可以生成固定的几个对象让外界去调用,故枚举类中的构 ...
- java枚举类
enum关键字用于定义枚举类,若枚举只有一个成员, 则可以作为一种单例模式的实现方式. 枚举类对象的属性不应允许被改动, 所以应该使用 private final 修饰. 枚举类的使用 priva ...
随机推荐
- 用Markdown写Html和.md也就图一乐,真骚操作还得用来做PPT
前言 和这篇文章一样,我就是用Markdown写的.相信各位平时也就用Markdown写写文档,做做笔记,转成XHtml.Html等,今天教大伙一招骚操作:用Markdown写PPT. 绝大多数朋友做 ...
- 教你识别一些sequence的相关问题
摘要:通过一些自定义的视图或者查询语句,批量识别集群的sequence相关问题 本文分享自华为云社区<GaussDB(DWS)运维 -- sequence常见运维操作>,作者: 譡里个檔. ...
- 学习廖雪峰的Git教程3--从远程库克隆以及分支管理
一.远程库克隆 这个就比较简单了, git clone git@github.com:****/Cyber-security.git 远程库的地址可以在仓库里一个clone or download的绿 ...
- HTTPS-各种加密方式
推荐阅读:https://www.cnblogs.com/zwtblog/tag/计算机网络/ 目录 HTTPS 对称加密(AES) 非对称加密(RSA) 工作过程 分析 优缺点 常用算法 混合加密 ...
- DateUtils互转工具类
public class DateUtils { /** * 取系统默认时区ID */ private static final ZoneId ZONE_ID; static { ZONE_ID = ...
- kafka producer如何优化打入速度?
增加线程 提高 batch.size 增加更多 producer 实例 增加 partition 数 设置 acks=-1 时,如果延迟增大:可以增大 num.replica.fetchers(fol ...
- 解释 AOP 模块?
AOP 模块用于发给我们的 Spring 应用做面向切面的开发, 很多支持由 AOP 联 盟提供,这样就确保了 Spring 和其他 AOP 框架的共通性.这个模块将元数据编 程引入 Spring.
- (转载)JSON对象使用变量作为键名
转载链接:https://blog.csdn.net/lihefei_coder/article/details/82499520 //第一种方式 var key = 'name'; var json ...
- 杭电OJ 1248 不死族巫妖王 完全背包问题 字节跳动 研发岗编程原题
转载至:https://blog.csdn.net/ssdut_209/article/details/51557776 Problem Description不死族的巫妖王发工资拉,死亡骑士拿到一张 ...
- Flask 简单使用,这一篇就够了!
#Flask 安装依赖包及作用 - jinja2 模板语言 (flask依赖包) - markupsafe 防止css攻击 (flask依赖包) - werkzeug --wkz 类似于django中 ...