java 枚举和数值的相互转换

枚举简介

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

运行结果   如图

原文地址:https://www.cnblogs.com/kuoAT/p/6808568.html