Java枚举
2016-04-24 10:51
429 查看
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.class public 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(); } }
相关文章推荐
- JVM基础(三) JVM内存管理
- 关于java的正则表达式的用法
- Java super关键字活用
- 深入JAVA虚拟机(GC)
- Java类集(List、Set、Map等)
- 站在大神肩膀上看RxJava
- 【转】Java 8十个lambda表达式案例
- 【转】Java 8十个lambda表达式案例
- java中的Iterator和Iterable 区别
- 20145311 《Java程序设计》第八周学习总结
- 20145315 《Java程序设计》第八周学习总结
- JAVA线程(二)
- 第一个超简单的hibernate
- java 内省机制(工厂模式再次解耦)
- java中判断今年是否是闰年
- Spring的AOP应用
- java中clone 方法的作用
- java基础(21)--java.io.Serializable浅析
- 《Java程序设计》第八周学习总结
- Java编程中“为了性能”需做的26件事