• Java枚举使用


     在JDK1.5 之前,我们定义常量都是: public static fianl.... 。

    现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。

    1、不用枚举

    package First;
    
    public class Test {
    
        public static final int RED = 1; 
        public static final int Green = 3;  
        public static final int YELLOW = 2;
    
        
        public static void main(String[] args) {
            int value = Test.Green;
            System.out.println(value);
        }
    }


    2、用枚举:改变上面

    package First;
    
    public class LightTest {
    
        public enum Light{
            
            RED(1),Green(3),YELLOW(2);
            
            private int nCode;
            
            /*
             * 1. private类型的构造函数
             * 2. 给变量赋值
             */
            private Light(int nCode){
                this.nCode = nCode;
            }
            /*
             * 获取各个变量的值
             */
            public int getValue(){
                return nCode;
            }
            
        }
        
        public static void main(String[] args) {
            
            
            Light light = Light.Green;
            int value = light.getValue();
            System.out.println(value);
            
            System.out.println("----------------");
            
            //遍历
            Light[] lights = Light.values();
            for(Light a : lights){
                System.out.println(a);
                System.out.println(a.nCode);
            }
            
        }
        
        
    }

    3、用枚举:多个参数

    package First;
    
    public class LightTest {
    
        public enum Light{
            
            RED(1,"红"),Green(3,"绿"),YELLOW(2,"黄");
            
            private int nCode;
            private String str;
            
            /*
             * 1. private类型的构造函数
             * 2. 给变量赋值
             */
            private Light(int nCode, String str){
                this.nCode = nCode;
                this.str = str;
            }
            /*
             * 获取各个变量的值
             */
            public int getValue(){
                return nCode;
            }
            
            public String getStr(){
                return str;
            }
            
        }
        
        public static void main(String[] args) {
            
            Light light = Light.Green;
            int value = light.getValue();
            String str = light.getStr();
            
            System.out.println(value);
            System.out.println(str);
            
        }
        
        
    }

    根据code 获取value

    public static String getValueByCode(int code) {
        for (SettleUserInfoEnum ele : values()) {
            if(ele.getCode() == code) {
                return ele.getValue();
            }
        }
        return null;
    }
  • 相关阅读:
    [笔记] 深入java虚拟机 类型的生命周期
    xml笔记
    Python笔记
    Effective C++ 笔记(2)
    [笔记] 深入java虚拟机 连接模型
    javascript对象成员访问权限
    [笔记] 深入java虚拟机 java class文件(2)
    STL笔记(3) Effective STL
    STL笔记(1)容器
    [IOS笔记] objecttivec基础知识
  • 原文地址:https://www.cnblogs.com/Donnnnnn/p/7723951.html
Copyright © 2020-2023  润新知