zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    浩然战法--黄金柱选股
    《含泪活着》主人公一一丁尚彪,叙述在日本当黑户口的危险经历,美国《世界日报》2017年3月16日连载
    Java8与JDK8和JDK1.8有什么区别?
    ThreadLocal
    什么是jsonp
    Java中比较对象大小的两种实现方式
    MySQL教程之concat以及group_concat的用法
    多级树形结构和sql查询实现
    mysql树形结构递归查询
    Maven配置教程
  • 原文地址:https://www.cnblogs.com/Donnnnnn/p/7723951.html
Copyright © 2011-2022 走看看