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 ...
随机推荐
- C++ 并发编程1
一个简单的并发编程的举例 #include <iostream> #include <thread> using namespace std; void hello(){ co ...
- Kafka 消费者是否可以消费指定分区消息?
Kafa consumer消费消息时,向broker发出fetch请求去消费特定分区的消息,consumer指定消息在日志中的偏移量(offset),就可以消费从这个位置开始的消息,customer拥 ...
- CI_CD 简单了解
- MySQL主从复制(异步复制与半同步复制)
1.MySQl主从复制 原理:将主服务器的binlog日志复制到从服务器上执行一遍,达到主从数据的一致状态. 过程:从库开启一个I/O线程,向主库请求Binlog日志.主节点开启一个binlog du ...
- Leetcode刷题之矩阵中的指针用法
矩阵中的指针用法 1 快慢指针 Leetcode27移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度.不要使用额外的数组 ...
- ModelSerializer序列化器实战
目录 ModelSerializer序列化器实战 单表操作 序列化器类 视图类 路由 模型 多表操作 models.py serializer.py views.py urls.py ModelSer ...
- html5的video元素学习手札
为了监控移动端视频播放的情况,研究了一下 html5 <video> 标签的属性与事件触发,及其在各系统和各个浏览器的兼容情况 属性与事件 理解清楚属性和事件,才能更好的使用 video ...
- java中switch结构和 while for循环的用法
6.2 switch结构: 变量可以是:variable can be:(mark: tried, can not be long) char/int/short/byte(java1.7 就可 ...
- macos停止MySQL服务
1.命令行中 使用 find /usr -name mysql 查找自己电脑中MySQL的安装位置 例如我查找到我电脑MySQL安装位置是 /usr/local/Cellar/mysql@5.6/5 ...
- golang对接阿里云私有Bucket上传图片、授权访问图片
golang对接阿里云私有Bucket上传图片.授权访问图片 1.为什么要设置私有bucket 公共读写:互联网上任何用户都可以对该 Bucket 内的文件进行访问,并且向该 Bucket 写入数据. ...