java中enum

举个例子:

package enumTest;

public enum Season {

    SPRING(1,"春天"),
    SUMMER(2,"夏天"),
    AUTUMN(3,"秋天"),
    WINTER(4,"冬天");
    private int value;
    private String description;
    Season(int value,String description){
        this.value=value;
        this.description=description;
    }

    public static Season getByValue(int value){
        for(Season season:Season.values()){
            if(season.getValue()==value){
                return season;
            }
        }
        throw new IllegalArgumentException("no matches "+value);
    }
    public int getValue() {
        return value;
    }
    public String getDescription() {
        return description;
    }
    public static void main(String[] args){

        /**
         * static Enum valueof(Class enumClass,String name)
         * 返回指定名字、给定类的枚举常量
         */
        Season summer = Enum.valueOf(Season.class, "SUMMER");
        System.out.println("summer: "+summer);
        System.out.println("--------------");
        /**
         * String toString()
         * 返回枚举常量名
         */
        System.out.println("summer.toString(): "+summer.toString());
        System.out.println("--------------");
        /**
         * int ordinal()
         * 返回枚举常量在enum中声明的位置,位置从0开始计数
         */
        System.out.println("summer.ordinal(): "+summer.ordinal());
        System.out.println("--------------");
        /**
         * 静态values方法 返回一个包含全部枚举值的数组
         */
        Season[] values = Season.values();
        for(Season season:values){
            System.out.println("season: "+season);
        }
        System.out.println("--------------");
        /**
         * int compareTo(E other)
         * 枚举常量出现在other之前,返回负值
         *             ==other   ,返回0
         *             在other之后,返回正值
         */
        int i = Season.SPRING.compareTo(summer);
        System.out.println("i= "+i);
        int j = Season.SUMMER.compareTo(summer);
        System.out.println("j= "+j);
        int k = Season.AUTUMN.compareTo(summer);
        System.out.println("k= "+k);
        System.out.println("--------------");
        Season byValue = Season.getByValue(1);
        System.out.println("1: "+byValue);
        Season byValue1 = Season.getByValue(5);
        System.out.println("5: "+byValue1);
    }
}

输出:

 

 

https://www.ibm.com/developerworks/cn/java/j-lo-enum/ 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值