• Java基础知识07--枚举类型Enum的使用


    JDK1.5引入了新的类型——枚举。

    创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类)。枚举类型符合通用模式 Class Enum<E extends Enum>,而 E 表示枚举类型的名称。

    package com.ttbank.flep.file.test;
    
    public enum  ColorEnum {
        RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
        // 成员变量
        private String name;
        private int index;
        // 构造方法
        private ColorEnum(String name, int index) {
            this.name = name;
            this.index = index;
        }
    
        /**
         * 根据index获取属性name
         * 比如根据 3 得到 "白色"
         */
        public static String getNameByIndex(int index) {
            for (ColorEnum c : ColorEnum.values()) {
                if (c.getIndex() == index) {
                    return c.name;
                }
            }
            return null;
        }
    
        /**
         * 根据name获取属性index
         * 比如根据 白色 得到 3
         */
        public static Integer getIndexByName(String name) {
            //values()返回枚举类中所有的值
            for (ColorEnum c : ColorEnum.values()) {
                String nameStr = c.getName();
                if (nameStr.equals(name)) {
                    return c.getIndex();
                }
            }
            return null;
        }
    
    
        // get set 方法
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getIndex() {
            return index;
        }
        public void setIndex(int index) {
            this.index = index;
        }
    }

    测试代码:

    package com.ttbank.flep.file.test;
    
    public class ColorTest {
        public static void main(String[] args) {
            Integer index = ColorEnum.getIndexByName("白色");
            System.out.println(index);
            //直接初始化
            ColorEnum colorEnum=ColorEnum.BLANK;
            //调用SeasonEnum枚举类的getChinese()方法获取SPRING的中文值
            System.out.println(colorEnum.getName());
    
        }
    }

    效果图:

    参考文献:https://blog.csdn.net/qq_27093465/article/details/52180865

    https://blog.csdn.net/sihai12345/article/details/81070174(重点参考)

  • 相关阅读:
    每天一个linux命令(6):mv命令
    每天一个linux命令(5):rm 命令
    每天一个linux命令(4):mkdir命令
    每天一个linux命令(3):pwd命令
    每天一个linux命令(2):cd命令
    每天一个linux命令(1):ls命令
    Linux下svn命令详解
    Linux下SVN安装配置
    SVN命令使用详解
    分布式Web服务器架构
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15194689.html
Copyright © 2020-2023  润新知