Java枚举

来源:互联网 发布:南京软件行业优惠政策 编辑:程序博客网 时间:2024/06/11 06:00
package MyEnum;class ColorTest {    // Red Yellow Blue都是对象标签    public static final ColorTest Red = new ColorTest("红色");    public static final ColorTest Yellow = new ColorTest("黄色");    public static final ColorTest Blue = new ColorTest("蓝色");    private String name;    private ColorTest(String name) {        this.setName(name);    }    public void setName(String name) {        this.name = name;    }    public String getName() {        return name;    }    public static ColorTest getNum(int n) {        switch (n) {        case 1: {            return Red;        }        case 2: {            return Yellow;        }        case 3: {            return Blue;        }        default:            break;        }        return null;    }}public class SimpleTest {    public static void main(String aegs[]) {        // (静态类、对象)实例化Color        ColorTest color1 = ColorTest.Red;        System.out.println(color1.getName());        // (静态类、方法)实例化对象        ColorTest color2 = ColorTest.getNum(2);        System.out.println(color2.getName());    }}
package MyEnum;enum Color1 {    Red, Yellow, Blue;}// MyNum下的Simple.classpublic class EnumDemo1 {    public static void main(String args[]) {        // 第一种方式列举对象标签出来        Color1 s1 = Color1.Red;        System.out.println(s1);        // 第二种方式列举对象标签出来        for (Color1 s2 : Color1.values()) {            System.out.print(s2 + "、");        }        System.out.println();        // 第二种方式带判断列举对象标签出来        for (Color1 s3 : Color1.values()) {            print(s3);        }    }    public static void print(Color1 s4) {        switch (s4) {        case Red: {            System.out.println("红色");            break;        }        case Yellow: {            System.out.println("黄色");            break;        }        case Blue: {            System.out.println("蓝色");            break;        }        default:            break;        }    }}
package MyEnum;enum Color2_1 {    Red("红色"), Yellow("黄色"), Blue("蓝色");    private String name;    private Color2_1(String name) {        this.setName(name);    }    public void setName(String name) {        this.name = name();    }    public String getName() {        return name;    }}public class EnumDemo2_1 {    public static void main(String[] args) {        for (Color2_1 s : Color2_1.values()) {            System.out.println(s.ordinal() + "、" + s.name() + "、" + s.getName());        }    }}
package MyEnum;enum Color2_2 {    RED, YELLOW, BLUE;    private String name;    public String getName() {        return name;    }    public void setName(String name) {        // 当前对象来和对象标签来匹配        switch (this) {        case RED: {            if ("红色".equals(name)) {                this.name = name;            } else {                System.out.println("设置有误");            }            break;        }        case YELLOW: {            if ("黄色".equals(name)) {                this.name = name;            } else {                System.out.println("设置有误");            }            break;        }        case BLUE: {            if ("蓝色".equals(name)) {                this.name = name;            } else {                System.out.println("设置有误");            }            break;        }        }    }}public class EnumDemo2_2 {    public static void main(String[] args) {        Color2_2 sd = Color2_2.BLUE;        sd.setName("兰瑟");        sd.setName("蓝色");        System.out.println(sd.getName());    }}
package MyEnum;import java.util.EnumMap;import java.util.Map;enum ColorMap {    RED, YELLOW, BLUE;}public class EnumMapDemo {    // 每次运行都是前几次的运行结果,而不运行当前的程序,关键字"main"拼写有误    public static void main(String[] ags) {        Map<ColorMap, String> map = new EnumMap<ColorMap, String>(ColorMap.class);        map.put(ColorMap.RED, "红色");        map.put(ColorMap.YELLOW, "黄色");        map.put(ColorMap.BLUE, "蓝色");        for (ColorMap c : ColorMap.values()) {            System.out.print(map.get(c) + "、");        }        System.out.println();        for (ColorMap c : map.keySet()) {            System.out.print(c.name() + "、");        }        System.out.println();        for (String s : map.values()) {            System.out.print(s + "、");        }        System.out.println();    }}
package MyEnum;import java.util.EnumSet;enum ColorSet {    Red, Yellow, Blue;}public class EnumSetDemo {    public static void main(String args[]) {        // 设置一个全部的集合        EnumSet<ColorSet> es1 = null;        es1 = EnumSet.allOf(ColorSet.class);        System.out.print("EnumSet.allOf------");        print(es1);        // 设置一个枚举的集合元素        EnumSet<ColorSet> es2 = null;        es2 = EnumSet.of(ColorSet.Blue);        System.out.print("EnumSet.of------");        print(es2);        // 放入指定的枚举集合元素        EnumSet<ColorSet> es3 = null;        es3 = EnumSet.noneOf(ColorSet.class);        es3.add(ColorSet.Red);        es3.add(ColorSet.Yellow);        System.out.print(".add()----------");        print(es3);        // 创建一个不包含指定集合元素的集合        EnumSet<ColorSet> es40 = null;        EnumSet<ColorSet> es41 = null;        es40 = EnumSet.noneOf(ColorSet.class);        es40.add(ColorSet.Red);        es40.add(ColorSet.Yellow);        es41 = EnumSet.complementOf(es40);        System.out.print("EnumSet.complementOf-----");        print(es41);        // 创建一个包含指定集合元素的集合        EnumSet<ColorSet> es50 = null;        EnumSet<ColorSet> es51 = null;        es50 = EnumSet.noneOf(ColorSet.class);        es50.add(ColorSet.Red);        es50.add(ColorSet.Yellow);        es51 = EnumSet.copyOf(es50);        System.out.print("EnumSet.copyOf-----");        print(es51);    }    public static void print(EnumSet<ColorSet> temp) {        for (ColorSet c : temp) {            System.out.print(c + "、");        }        System.out.println();    }}
0 0
原创粉丝点击