枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等
package common;
import java.util.EnumMap;
import java.util.EnumSet;
public class Student {
public enum portals{
tencent("www.qq.com"), sina("www.sina.com"), baidu("www.baidu.com"), aqiyi("www.aqiyi.com");
private String por;
private portals(String ret){
this.por = ret;
}
@Override
public String toString(){
return String.valueOf(por);
}
}
public enum student {
men(1), women(2);
public int t;
private student(int ret) {
this.t = ret;
}
@Override
public String toString() {
return String.valueOf(t);
}
}
public static void main(String arg[]) {
testTraversalEnum();
testEnumMap();
testEnumSet();
selectEnum(student.men);
}
private static void testTraversalEnum() {
for (student student2 : student.values()) {
System.out.println("1 :" + student2.name());
System.out.println("1 :" + student2.ordinal());
}
}
private static void testEnumMap() {
EnumMap<student, String> currMap = new EnumMap<student, String>(student.class);
currMap.put(student.men, "男");
currMap.put(student.women, "女");
for (student student2 : student.values()) {
System.out.println("[key=" + student2.name() + " , value =" + currMap.get(student2) + "]");
}
}
private static void testEnumSet() {
EnumSet<student> currSet = EnumSet.allOf(student.class);
for (student student : currSet) {
System.out.println(student);
}
}
private static void selectEnum(student stu){
switch(stu){
case men :
System.out.println("men");
break;
case women :
System.out.println("women");
break;
default :
System.out.println("default");
}
}
}