Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6276895
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: Java

2013-10-04 10:02:44

原文地址:JDK5新增功能ENUM全攻略 作者:hiyachen

今天是10.1,我还要上班对应AIX7.1 + Oracle11.2的移形,夜间Batch等。郁闷呀。但得闲暇将enum总结如下:
http://hiyachen.blog.chinaunix.net   欢迎评论。

import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumMap;
import java.util.EnumSet;


public class EnumTest {

    public enum State {
        ON, OFF
    }

    public enum Colorful {
        RED, ORANGE, YELLOW, GREEN, CYAN, BLUE, PURPLE
    }
    /**
     * [メソッドの説明を書きましょう]
     * @param args
     */
    public static void main(String[] args) {
        // TODO 自動生成されたメソッド?スタブ

        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 colorSet1 = EnumSet.allOf(Colorful.class);
        System.out.println("EnumSet1******* " + colorSet1);

        Colorful[] list = {Colorful.ORANGE, Colorful.YELLOW};
        EnumSet colorSet2 = EnumSet.of(Colorful.RED, list);
        System.out.println("EnumSet2******* " + colorSet2);

        EnumSet colorSet3 = EnumSet.range(Colorful.CYAN, Colorful.PURPLE);
        System.out.println("EnumSet3******* " + colorSet3);

        EnumSet colorSet4 = colorSet1.clone();
        System.out.println("EnumSet4******* " + colorSet4);

        // sweep from colorSet1 off colorSet3
        EnumSet colorSet5 = colorSet1.complementOf(colorSet3);
        System.out.println("EnumSet5******* " + colorSet5);

        // copy colorSet3 to colorSet6 or colorSet7
        EnumSet colorSet6 = colorSet2.copyOf(colorSet3);
        EnumSet colorSet7 = EnumSet.copyOf(colorSet3);
        System.out.println("EnumSet6******* " + colorSet6);
        System.out.println("EnumSet7******* " + colorSet7);
        System.out.println("EnumSet7.equals(EnumSet6)******* " + colorSet6.equals(colorSet7));

        Collection collection = new ArrayList();
        System.out.println("CollectionPre******* " + collection);
        collection.add(Colorful.CYAN);
        collection.add(Colorful.PURPLE);
        System.out.println("CollectionAft******* " + collection);
        EnumSet colorSet8 = EnumSet.copyOf(collection);
        System.out.println("EnumSet8******* " + colorSet8);

        EnumSet colorSet9 = EnumSet.noneOf(Colorful.class);
        System.out.println("EnumSet9******* " + colorSet9);

        //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("EnumMap&&&& " + s.name() + ":" + stateMap.get(s));
        }

    }

}

至此对枚举(日语:列举型)有了比较全面了解。
OK

阅读(482) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~