用枚举enum替代int常量

Posted 一天不进步,就是退步!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用枚举enum替代int常量相关的知识,希望对你有一定的参考价值。

枚举的好处:

1. 类型安全性

2.使用方便性

 

public class EnumDemo {     
    enum Color{     
        RED(3),BLUE(5),BLACK(8),YELLOW(13),GREEN(28);          
        private int colorValue;     
        private Color(int rv){     
         this.colorValue=rv;       
        }   
        private int getColorValue(){
            return colorValue;
        }   
        
        private int value(){
            return ordinal()+1;
        }
}          
    public static void main(String[] args) { 
        for(Color s : Color.values()) {     
            //enum的values()返回一个数组,这里就是Seasons[]     
            System.out.println(s.value()+":"+s.name()+"="+s.getColorValue());     
        }     
    }     
}   

output:

1:RED=3
2:BLUE=5
3:BLACK=8
4:YELLOW=13
5:GREEN=28

其中,

    /**
     * Returns the ordinal of this enumeration constant (its position
     * in its enum declaration, where the initial constant is assigned
     * an ordinal of zero).
     *
     * Most programmers will have no use for this method.  It is
     * designed for use by sophisticated enum-based data structures, such
     * as {@link java.util.EnumSet} and {@link java.util.EnumMap}.
     *
     * @return the ordinal of this enumeration constant
     */
    public final int ordinal() {
        return ordinal;
    }

 

以上是关于用枚举enum替代int常量的主要内容,如果未能解决你的问题,请参考以下文章

java枚举类型enum用法

6使用enum来替代常量

java之 ------ 枚举类型

enum类型

Java enum的用法详解

Java enum(枚举)的用法详解(转)