首页 > 代码库 > (二十二)枚举类型基础

(二十二)枚举类型基础

public class Test {

    public static void main(String[] args) {
        
    
        //测试普通的枚举类型
        System.out.println("SPRING的值="+season.SPRING);
        
        //遍历普通枚举类新
        
        System.out.println("---遍历普通枚举类型---");
        for(season str:season.values()){
            System.out.println(str);
        }
        
        
        //遍历含有方法和属性的枚举类型
        System.out.println("---遍历含有方法和属性的枚举类型---");
        for(Color color:Color.values()){
            System.out.print("下标为"+color.ordinal()+"\t");  //ordinal()返回枚举值在枚举中的索引位置,从0开始
            System.out.print("的颜色为"+color.getName()+"\t   ");
            System.out.println("风格为"+color.getStyle());
            
        }
    }
    
    
    /**
     * 最普通的枚举类型
     */
    enum season{
        
        SPRING,SUMMER,FALL,WINTER;
    }
    
    
    /**
     * 枚举类也可添加方法和属性
     * @author Administrator
     *
     */
    enum Color {
        /*通过括号赋值,而且必须有带参构造器和一属性跟方法,否则编译出错
         * 赋值必须是都赋值或都不赋值,不能一部分赋值一部分不赋值
         * 如果不赋值则不能写构造器,赋值编译也出错*/    
        
         // 枚举列表必须写在最前面,否则编译出错
        RED("红色","鲜艳"), GREEN("绿色", "生命"), BLANK("黑色","黑暗"), YELLO("黄色","吉祥");

        private  String name;
        private String style;
        
        //构造器默认也只能是private, 从而保证构造函数只能在内部使用
        private Color(String name,String style){
            
            this.name=name;
            this.style=style;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }


        public String getStyle() {
            return style;
        }

        public void setStyle(String style) {
            this.style = style;
        }


    }

}

结果:
SPRING的值=SPRING
---遍历普通枚举类型---
SPRING
SUMMER
FALL
WINTER
---遍历含有方法和属性的枚举类型---
下标为0 的颜色为红色    风格为鲜艳
下标为1 的颜色为绿色    风格为生命
下标为2 的颜色为黑色    风格为黑暗
下标为3 的颜色为黄色    风格为吉祥

 

(二十二)枚举类型基础