• 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());
            }
        }
  • 相关阅读:
    35个Java代码优化的细节,你知道几个?
    Java如何优雅地实现接口数据校验
    Java中方法的重载详解(含系统配套视频)
    七大经典、常用排序算法的原理、Java 实现以及算法分析
    Java静态方法和实例方法
    Java静态变量和实例变量
    “反转链表”相关的题目
    【C++】将十进制数转换为十六进制数
    第四章:动态规划I
    【C++】数组中的第k个最小元素
  • 原文地址:https://www.cnblogs.com/taiyonghai/p/9296036.html
Copyright © 2020-2023  润新知