java枚举使用详解

在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。
例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”。
在java中如何更好的使用这些“数据集”呢?因此枚举便派上了用场,以下代码详细介绍了枚举的用法。
package com.ljq.test;
/**
* 枚举用法详解
*
* @author jiqinlin
*
*/
public class TestEnum {
/**
* 普通枚举
*
* @author jiqinlin
*
*/
public enum ColorEnum {
red, green, yellow, blue;
}
/**
* 枚举像普通的类一样可以添加属性和方法,可以为它添加静态和非静态的属性或方法
*
* @author jiqinlin
*
*/
public enum SeasonEnum {
//注:枚举写在最前面,否则编译出错
spring, summer, autumn, winter;
private final static String position = "test";
public static SeasonEnum getSeason() {
if ("test".equals(position))
return spring;
else
return winter;
}
}
/**
* 性别
*
* 实现带有构造器的枚举
*
* @author jiqinlin
*
*/
public enum Gender{
//通过括号赋值,而且必须带有一个参构造器和一个属性跟方法,否则编译出错
//赋值必须都赋值或都不赋值,不能一部分赋值一部分不赋值;如果不赋值则不能写构造器,赋值编译也出错
MAN("MAN"), WOMEN("WOMEN");
private final String value;
//构造器默认也只能是private, 从而保证构造函数只能在内部使用
Gender(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
/**
* 订单状态
*
* 实现带有抽象方法的枚举
*
* @author jiqinlin
*
*/
public enum OrderState {
/** 已取消 */
CANCEL {public String getName(){return "已取消";}},
/** 待审核 */
WAITCONFIRM {public String getName(){return "待审核";}},
/** 等待付款 */
WAITPAYMENT {public String getName(){return "等待付款";}},
/** 正在配货 */
ADMEASUREPRODUCT {public String getName(){return "正在配货";}},
/** 等待发货 */
WAITDELIVER {public String getName(){return "等待发货";}},
/** 已发货 */
DELIVERED {public String getName(){return "已发货";}},
/** 已收货 */
RECEIVED {public String getName(){return "已收货";}};
public abstract String getName();
}
public static void main(String[] args) {
//枚举是一种类型,用于定义变量,以限制变量的赋值;赋值时通过“枚举名.值”取得枚举中的值
ColorEnum colorEnum = ColorEnum.blue;
switch (colorEnum) {
case red:
System.out.println("color is red");
break;
case green:
System.out.println("color is green");
break;
case yellow:
System.out.println("color is yellow");
break;
case blue:
System.out.println("color is blue");
break;
}
//遍历枚举
System.out.println("遍历ColorEnum枚举中的值");
for(ColorEnum color : ColorEnum.values()){
System.out.println(color);
}
//获取枚举的个数
System.out.println("ColorEnum枚举中的值有"+ColorEnum.values().length+"个");
//获取枚举的索引位置,默认从0开始
System.out.println(ColorEnum.red.ordinal());//0
System.out.println(ColorEnum.green.ordinal());//1
System.out.println(ColorEnum.yellow.ordinal());//2
System.out.println(ColorEnum.blue.ordinal());//3
//枚举默认实现了java.lang.Comparable接口
System.out.println(ColorEnum.red.compareTo(ColorEnum.green));//-1
//--------------------------
System.out.println("===========");
System.err.println("季节为" + SeasonEnum.getSeason());
//--------------
System.out.println("===========");
for(Gender gender : Gender.values()){
System.out.println(gender.value);
}
//--------------
System.out.println("===========");
for(OrderState order : OrderState.values()){
System.out.println(order.getName());
}
}
}
# java枚举使用详解
# java
# 枚举
# Java实现转跳不同系统使用枚举加switch的方式示例
# 扒一扒 Java 中的枚举类型
# java编程枚举类型那些事!枚举类型定义和重写枚举的方法
# Java枚举使用方法详解
# java 中枚举类enum的values()方法的详解
# Java枚举的使用方法详解
# JAVA 枚举单例模式及源码分析的实例详解
# java枚举类的构造函数实例详解
# Java枚举类型enum的详解及使用
# Java中对于双属性枚举的使用案例
# 遍历
# 收货
# 配货
# 是一种
# 都不
# 上了
# 详细介绍
# 一到
# 春夏秋冬
# 写在
# 最前面
# 星期日
# 实现了
# 只能在
# 在实际
# blue
# spring
# SeasonEnum
# static
# final
相关文章:
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
公众号网站制作网页,微信公众号怎么制作?
建站主机与服务器功能差异如何区分?
如何解决VPS建站LNMP环境配置常见问题?
如何批量查询域名的建站时间记录?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
javascript基本数据类型及类型检测常用方法小结
建站之星如何取消后台验证码生成?
宝塔新建站点报错如何解决?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
家具网站制作软件,家具厂怎么跑业务?
如何通过虚拟主机快速搭建个人网站?
如何通过可视化优化提升建站效果?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
建站之星安装提示数据库无法连接如何解决?
如何选择可靠的免备案建站服务器?
建站之星Pro快速搭建教程:模板选择与功能配置指南
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
,石家庄四十八中学官网?
中山网站推广排名,中山信息港登录入口?
大型企业网站制作流程,做网站需要注册公司吗?
已有域名和空间,如何快速搭建网站?
代刷网站制作软件,别人代刷火车票靠谱吗?
山东云建站价格为何差异显著?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
开封网站制作公司,网络用语开封是什么意思?
如何快速重置建站主机并恢复默认配置?
网站设计制作企业有哪些,抖音官网主页怎么设置?
建站之星价格显示格式升级,你的预算足够吗?
如何快速辨别茅台真假?关键步骤解析
建站VPS能否同时实现高效与安全翻墙?
如何快速选择适合个人网站的云服务器配置?
如何选择美橙互联多站合一建站方案?
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何快速配置高效服务器建站软件?
名字制作网站免费,所有小说网站的名字?
如何在局域网内绑定自建网站域名?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
建站之星代理平台如何选择最佳方案?
如何在建站主机中优化服务器配置?
建站之星展会模版如何一键下载生成?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
建站之星展会模板:智能建站与自助搭建高效解决方案
如何通过虚拟主机空间快速建站?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
*请认真填写需求信息,我们会在24小时内与您取得联系。