zoukankan      html  css  js  c++  java
  • java enum使用方法

    直接上手吧,注释都写清楚了

    编写枚举类

    /**
     * 可以使用接口或类包裹枚举元素,使其可以统一调用入口
     */
    public interface TestEnumIntfc {
        /**
         * 创建枚举对象
         */
        public enum TestEnum {
    
            //1.常规型定义枚举项
    //    Enabled, Disabled
    
            //2.普通型定义枚举项
    //    Enabled(1), Disabled(0);
    //    private int value;
    //    TestEnum(int value){
    //        this.value = value;
    //    }
    
            //3.复杂型定义枚举项
            //(枚举项参数构造方法提供的参数对应)
            Enabled(1, "启用"),
            Disabled(0, "禁用");
            //(使用私有变量存储值)
            private int value;
            private String text;
            //构造方法只能是private,通过构造为私有变量赋值
            TestEnum(int value, String text) {
                this.value = value;
                this.text = text;
            }
            //可以定义方法供外部调用,获取每一个属性的值(为枚举项提供方法)
            //TestEnum.Enabled.toInt()
            public int toInt() {
                return this.value;
            }
            public String toText() {
                return this.text;
            }
            //可以定义静态方法以便根据value获取text(为枚举类提供方法)
            //TestEnum.getText(1)
            public static String getText(int value) {
                for (TestEnum item : TestEnum.values()) {
                    if (value == item.value) {
                        return item.text;
                    }
                }
                return null;
            }
            //可以重写toString()方法实现自定义输出
            @Override
            public String toString() {
                return super.toString();
            }
        }
    }

    编写调用main()

    public static void main(String[] arge) {
            //调用同toString()方法,输出:Enabled
            System.out.println(TestEnumIntfc.TestEnum.Enabled);
            //根据选定的枚举项,获取text,输出:启用
            System.out.println(TestEnumIntfc.TestEnum.Enabled.toText());
            //根据选定的枚举项,获取value,输出:1
            System.out.println(TestEnumIntfc.TestEnum.Enabled.toInt());
            //根据选定的枚举项,转换为字符串,输出:Enabled
            System.out.println(TestEnumIntfc.TestEnum.Enabled.toString());
            //根据选定枚举类及传入的value,返回该value对应的text,输出:启用
            System.out.println(TestEnumIntfc.TestEnum.getText(1));
            //获取该枚举类中的所有项的数组并循环
            for (TestEnumIntfc.TestEnum e : TestEnumIntfc.TestEnum.values()) {
                System.out.println(e.toText());
            }
        }
  • 相关阅读:
    python的lambda使用
    python的timedelta
    ptyhon读文件一行长度len为1022,出现\x00
    eclipse生成jar包
    linux 文件的软链接与硬链接(看着写的不错就转发了)
    各种VBA excel 命令、属性、方法
    键盘鼠标共享 Synergy
    关于 range 区域 excel
    php mssql几条常见的数据库分页 SQL 语句
    Get the Degree of Angle Between Hour and Minute Hand of a Clock at Anytime
  • 原文地址:https://www.cnblogs.com/taiyonghai/p/9296036.html
Copyright © 2011-2022 走看看