枚举简介

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());
}

运行结果   如图

java 枚举和数值的相互转换的更多相关文章

  1. Java枚举类型的使用,数值的二进制表示

    一.Java枚举类型的使用 首先请看这段代码: package java上课; public class EnumTest { public static void main(String[] arg ...

  2. Java 枚举用法详解

    概念 enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性. 在Java中,被 enum 关键字修饰的类型就是枚举类型.形式如下: enum Color { RED, GR ...

  3. java枚举与.net中的枚举区别

    通过一段时间的项目实践,发现java中的枚举与.net中的枚举有很大的差别,初期造成了我对java中的枚举一些错误理解及部分有缺陷的应用,其实追其原因还是因为我会习惯性的认为java的枚举在作用以及定 ...

  4. java 枚举类型分析

    最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, ...

  5. java枚举使用详解,整理的很好,只能收下。。。

    java枚举使用详解 在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的. 例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素 ...

  6. java枚举怎么用的

    package com.pingan.property.icore.pap.common.constants; /** * */public enum UMAuthStatusEnum impleme ...

  7. 深入理解Java枚举

    深入理解Java枚举 重新认识Java枚举 老实说,挺羞愧的,这么久了,一直不知道Java枚举的本质是啥,虽然也在用,但是真不知道它的底层是个啥样的 直到2020年4月28日的晚上20点左右,我才真的 ...

  8. 秒懂系列,超详细Java枚举教程!!!

    所有知识体系文章,GitHub已收录,欢迎Star!再次感谢,愿你早日进入大厂! GitHub地址: https://github.com/Ziphtracks/JavaLearningmanual ...

  9. 【转】java枚举类型enum的使用

    原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到 ...

随机推荐

  1. 使用pyinstaller打包使用cx_Oracle模块的程序出现The specified module could not be found的问题

    pyinstaller看起来并不会将动态链接库自动打包,所以我们需要告诉pyinstaller要打包哪些动态链接库,步骤如下(假设python文件名为 oracletest.py): 1. 使用pyi ...

  2. 从c到c++<四>

    总结一下:内联函数实际上就是用inline修饰的函数,这些函数会在编译时由编译器来将代码展开,而不用像上面第二点提到的人工展开,它的使用场景:代码很短.使用频率高. 具体代码如下: 对于这两者实际上还 ...

  3. FormCollection使用

    FormCollection用来在controller中获取页面表单元素的数据.它是表单元素的集合,包括<input type="submit" />元素. 用法举例: ...

  4. oracle 给表字段把VARCHAR2 换成 CLOB

    select * from TableName -- 添加一个字段 alter table TableName add 字段2 clob; --复制数据到此字段update TableName set ...

  5. java判断文件是否为图片

    /** * 判断文件是否为图片<br> * <br> * @param pInput 文件名<br> * @param pImgeFlag 判断具体文件类型< ...

  6. Codeforces Round #539 (Div. 1) 1109F. Sasha and Algorithm of Silence's Sounds LCT+线段树 (two pointers)

    题解请看 Felix-Lee的CSDN博客 写的很好,不过最后不用判断最小值是不是1,因为[i,i]只有一个点,一定满足条件,最小值一定是1. CODE 写完就A,刺激. #include <b ...

  7. 基本数据类型-MySQL

    整型: TINYINT 最小 1个字节 -128~127 0~255 SMALLINT 较小 2个字节 -32768~32767 0~65535 MEDIUMINT 中等大小 3个字节 略   INT ...

  8. jQuery.extend([deep], target, object1, [objectN])

    jQuery.extend([deep], target, object1, [objectN]) 概述 用一个或多个其他对象来扩展一个对象,返回被扩展的对象.直线电机 如果不指定target,则给j ...

  9. About IndexDB

    http://blog.csdn.net/bd_zengxinxin/article/details/7758317 HTML5 - Storage 客户端存储 http://html5demos.t ...

  10. Comet OJ - Contest #2 (D 错综的光影所迷惑的思念是) 容斥计数

    题意:给定一颗 $n$ 个节点的树,定义 $dis(x,y)$ 为树上点 $x$ 到 $y$ 的路径经过的边数. 定义一个点集 $S$ 的 $f(S)$ 为 $f(S)=max\left \{dis( ...