java 枚举和数值的相互转换
2024-10-19 13:37:36
枚举简介
enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中
在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的。
此时枚举可以很方便的表示这样的简单的数据集
枚举和数值的相互转化
步骤:
1.首先定义一个枚举类:例如atEnum
2.在枚举类中创建一个枚举构造方法:private atnum(int value)
3.创建将枚举值转换成数值的的方法:
4创建将数值转换成对应的枚举值
public class Test01 { public static void main(String[] args) {
System.out.println(atEnum.b.enumToInt()); //输出枚举值b对应的数字
System.out.println(atEnum.intToEnum(1)); //输出1对应的枚举值
}
private enum atEnum{//定义一个枚举类
a(0),b(1),c(2),d(3),e(4); private int value; private atEnum(int value){//编写枚举的构造函数,这里的构造方法只能是私有的
this.value=value;
} public static atEnum intToEnum(int value) { //将数值转换成枚举值
switch (value) {
case 0:
return a;
case 1:
return b;
case 2:
return c;
case 3:
return d;
case 4:
return e;
default :
return null;
}
}
public int enumToInt() { //将枚举值转换成数值
return this.value;
}
}
}
利用枚举的方法转换成int数值:枚举所对应的下标值
创建枚举类:
private static enum color{
red,blue,yellow,green
}
枚举方法ordinal() 返回结果int类型
public static void main(String[] args) {
// TODO Auto-generated method stub System.out.println("red=========="+color.red.ordinal());
System.out.println("blue=========="+color.blue.ordinal());
System.out.println("yellow=========="+color.yellow.ordinal());
System.out.println("green=========="+color.green.ordinal());
}
运行结果 如图
最新文章
- 在ASP.NET中基于Owin OAuth使用Client Credentials Grant授权发放Token
- Ubuntu14-04 MySQL-5.6.21通用二进制安装
- python登录执行命令
- 推荐一个自动抽取pdf高亮笔记的web应用
- 《深度探索C++对象模型(Inside The C++ Object Model )》学习笔记
- 在CentOS上搭建apache和PHP服务器环境(转)
- 浅谈JavaScript中的能力检测
- js网页换肤
- CorelDRAW 实现蒙版效果的方法
- setsockopt中参数之SO_REUSEADDR的意义(转)
- svn服务器及客户端安装使用
- spring mvc中的@PathVariable(转)
- 【HDOJ】3505 Writing Robot
- HDU1542--Atlantis(扫描线)
- WebForms vs. MVC
- Introducing 'bind'
- Confluence 6 设置 Oracle 数据库准备
- linux日常运维常用命令
- 写一个针对IQueryable<;T>;的扩展方法支持动态排序
- Struct2 (一)
热门文章
- Linux中找回误删除的文件
- 跨域详解之jsonp,底层的实现原理
- python关于解决&#39;\u&#39;开头的字符串转中文的方法
- Java基础 反射的基础应用和Class笔记
- Spring-使用注解开发
- linux实操_权限管理
- [唐胡璐]MongoDB - 在Win7下环境搭建
- MySQL分组排序(取第一或最后)
- [hdoj4578][多延迟标记的线段树]
- Codeforces Round #585 (Div. 2) C. Swap Letters