zoukankan      html  css  js  c++  java
  • 枚举示例

    1、周六周日是休息日

    public enum EnumTest {
        MON(1), TUE(2), WED(3), THU(4), FRI(5), SAT(6) {
            @Override
            public boolean isRest() {
                return true;
            }
        },
        SUN(0) {
            @Override
            public boolean isRest() {
                return true;
            }
        };
    
        private int value;
    
        EnumTest(int value) {
            this.value = value;
        }
    
        public int getValue() {
            return value;
        }
    
        public boolean isRest() {
            return false;
        }
    }
    

    2、使用EnumSet创建枚举集 EnumMap集合的使用

    public class Test {
        public static void main(String[] args) {
            // EnumSet的使用
            EnumSet<EnumTest> weekSet = EnumSet.allOf(EnumTest.class);
            for (EnumTest day : weekSet) {
                System.out.println(day);
            }
            System.out.println("========================================");
    
            // EnumMap的使用
            EnumMap<EnumTest, String> weekMap = new EnumMap(EnumTest.class);
            weekMap.put(EnumTest.MON, "星期一");
            weekMap.put(EnumTest.TUE, "星期二");
           
            for (Iterator<Map.Entry<EnumTest, String>> iter = weekMap.entrySet().iterator(); iter.hasNext();) {
                Map.Entry<EnumTest, String> entry = iter.next();
                System.out.println(entry.getKey().name() + ":" + entry.getValue());
            }
            System.out.println("=====================================================");
            Iterator<Map.Entry<EnumTest, String>> iter = weekMap.entrySet().iterator();
            while (iter.hasNext()){
                Map.Entry<EnumTest, String> entry = iter.next();
                System.out.println(entry.getKey().name() + ":" + entry.getValue());
            }
        }
    }
    

    3、根据输入进来的字符串,返回对应的枚举对象

    public enum Day {
        monday("星期一",1),
        tuesday("星期二",2),
        wednesday("星期三",3),
        thursday("星期四",4),
        friday("星期五",5),
        saturday("星期六",6),
        sunday("星期日",7),
        星期一("monday",8),
        星期二("tuesday",9),
        星期三(wednesday.name,10 );
    
        //私有属性
        private String name;
        private int index;
    
        Day() {
        }
        //私有构造方法
        Day(String name, int index) {
            this.name = name;
            this.index = index;
        }
    
        public int getIndex() {
            return index;
        }
        public String getName() {
            return name;
        }
        //根据输入进来的字符串,返回对应的枚举对象
        public static Day getDay(String day){
            for (Day v:values()) {
                if (v.getName().equals(day)) {
                    return v;
                }
            }
            return null;
        }
    }
    

    4、判断是否操作成功

    public enum Code {
        SUCCESS(1000,"操作成功"),FAIL(1001,"操作失败");
    
        private int code;
        private String msg;
    
        Code(int code, String msg) {
            this.code = code;
            this.msg = msg;
        }
    
        public int getCode() {
            return code;
        }
    
        public String getMsg() {
            return msg;
        }
    
        public static Code getByValue(int value){
            for (Code code:values()){
                if (code.getCode() ==value){
                    return code;
                }
            }
            return null;
        }
    }
    
    public class TestCode {
        public static void main(String[] args) {
            String msg = Code.SUCCESS.getMsg();
            String msg1 = Code.FAIL.getMsg();
    
            int code = 1001;
            switch(Code.getByValue(code)){
                case SUCCESS:
                    System.out.println(msg); //操作成功
                    break;
                case FAIL:
                    System.out.println(msg1); //操作失败
                    break;
                default:
                    System.out.println("操作有误");
            }
        }
    }
    
    
    如果您发现博客内容有什么错误,请您下方留言
  • 相关阅读:
    6. 模块picklejson andomoszipfile面对对象(类的封装 操作 __init__)
    xlwt模块,(Excel表格)
    5. 迭代器生成器高阶函数推导式内置函数模块(math.time)
    4. 函数参数变量闭包递归
    3. 深浅拷贝/格式化/字符串/列表/字典/集合/文件操作
    2. 运算/循环/字符串操作
    1. 变量/数据类型
    Puppet自动化部署-安装及配置(3)
    Puppet自动化部署-前期环境准备(2)
    Puppet自动化运维-资源介绍篇(4)
  • 原文地址:https://www.cnblogs.com/zn615/p/15073448.html
Copyright © 2011-2022 走看看