枚举类型enum

2010年6月8日 由 yybean 留言 »

枚举构造enum,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示.给俩连接,基本就ok

枚举类型入门

深入研究枚举类型

一行代码胜于十行废话,下面的代码胜于几十行代码了

/**

 * 

 */

package com.yybean.Enum;

 

import java.util.EnumMap;

import java.util.EnumSet;

 

/**

 * @author yybean.com

 * 

 */

public class EnumTest {

    // 定义一个enum枚举类型,包括两个实例ON,OFF

    public enum State {

        ON, OFF

    };

 

    // 测试函数

    public static void main(String[] args) {

        // 直接变量enum

        for (State s : State.values())

            System.out.println(s.name());

 

        // switch与enum的结合使用

        State switchState = State.OFF;

        switch (switchState) {

        case OFF:

            System.out.println("OFF");

            break;

        case ON:

            System.out.println("ON");

            break;

        }

 

        // EnumSet的使用

        EnumSet<State> stateSet = EnumSet.allOf(State.class);

        for (State s : stateSet) {

            System.out.println(s);

        }

 

        // EnumMap的使用

        EnumMap stateMap = new EnumMap(State.class);

        stateMap.put(State.ON, "is On");

        stateMap.put(State.OFF, "is off");

        for (State s : State.values()) {

            System.out.println(s.name() + ":" + stateMap.get(s));

        }

    }

 

}

下面是高级一点的废话

/**

 * 

 */

package com.yybean.Enum;

 

/**

 * @author yybean.com

 * 

 */

public class EnumMethodTest {

 

    enum Size {

        Small(0.8), Medium(1.0), Large(1.2);

        private double pricingFactor;

 

        Size(double p) {

            pricingFactor = p;

        }

 

        public double getPricingFactor() {

            return pricingFactor;

        }

    }

 

    public static void main(String args[]) {

        Size s = Size.Large;

        double d = s.getPricingFactor();

        System.out.println(s + " Size has pricing factor of " + d);

    }

 

}

代码总是在copy来copy去渐渐成长,copy   o(︶︿︶)o

广告位

留下评论