您的位置:首页 > 编程语言 > Java开发

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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: