整理:J2SE5枚举使用范例
来源:互联网 发布:nginx proxy jenkins 编辑:程序博客网 时间:2024/06/05 20:21
一、定义枚举
public enum Grade {
A, B, C, D, F, INCOMPLETE
};
二、遍历枚举值
public void listGradeValues(PrintStream out) throws IOException {
for (Grade g : Grade.values()) {
out.println("Allowed value: '" + g + "'");
}
}
三、在switch中使用enum
public void testSwitchStatement(PrintStream out) throws IOException {
StringBuffer outputText = new StringBuffer(student1.getFullName());
switch (student1.getGrade()) {
case A:
outputText.append(" excelled with a grade of A");
break;
case B: // fall through to C
case C:
outputText.append(" passed with a grade of ")
.append(student1.getGrade().toString());
break;
case D: // fall through to F
case F:
outputText.append(" failed with a grade of ")
.append(student1.getGrade().toString());
break;
case INCOMPLETE:
outputText.append(" did not complete the class.");
break;
default:
outputText.append(" has a grade of ")
.append(student1.getGrade().toString());
break;
}
out.println(outputText.toString());
}
四、联合使用枚举和集合
public enum AntStatus {
INITIALIZING,
COMPILING,
COPYING,
JARRING,
ZIPPING,
DONE,
ERROR
}
public void testEnumMap(PrintStream out) throws IOException {
// Create a map with the key and a String message
EnumMap<AntStatus, String> antMessages =
new EnumMap<AntStatus, String>(AntStatus.class);
// Initialize the map
antMessages.put(AntStatus.INITIALIZING, "Initializing Ant...");
antMessages.put(AntStatus.COMPILING, "Compiling Java classes...");
antMessages.put(AntStatus.COPYING, "Copying files...");
antMessages.put(AntStatus.JARRING, "JARring up files...");
antMessages.put(AntStatus.ZIPPING, "ZIPping up files...");
antMessages.put(AntStatus.DONE, "Build complete.");
antMessages.put(AntStatus.ERROR, "Error occurred.");
// Iterate and print messages
for (AntStatus status : AntStatus.values() ) {
out.println("For status " + status + ", message is: " +
antMessages.get(status));
}
}
Tiger 把枚举当作类,这可以从
public enum Grade {
A, B, C, D, F, INCOMPLETE
};
二、遍历枚举值
public void listGradeValues(PrintStream out) throws IOException {
for (Grade g : Grade.values()) {
out.println("Allowed value: '" + g + "'");
}
}
三、在switch中使用enum
public void testSwitchStatement(PrintStream out) throws IOException {
StringBuffer outputText = new StringBuffer(student1.getFullName());
switch (student1.getGrade()) {
case A:
outputText.append(" excelled with a grade of A");
break;
case B: // fall through to C
case C:
outputText.append(" passed with a grade of ")
.append(student1.getGrade().toString());
break;
case D: // fall through to F
case F:
outputText.append(" failed with a grade of ")
.append(student1.getGrade().toString());
break;
case INCOMPLETE:
outputText.append(" did not complete the class.");
break;
default:
outputText.append(" has a grade of ")
.append(student1.getGrade().toString());
break;
}
out.println(outputText.toString());
}
四、联合使用枚举和集合
public enum AntStatus {
INITIALIZING,
COMPILING,
COPYING,
JARRING,
ZIPPING,
DONE,
ERROR
}
public void testEnumMap(PrintStream out) throws IOException {
// Create a map with the key and a String message
EnumMap<AntStatus, String> antMessages =
new EnumMap<AntStatus, String>(AntStatus.class);
// Initialize the map
antMessages.put(AntStatus.INITIALIZING, "Initializing Ant...");
antMessages.put(AntStatus.COMPILING, "Compiling Java classes...");
antMessages.put(AntStatus.COPYING, "Copying files...");
antMessages.put(AntStatus.JARRING, "JARring up files...");
antMessages.put(AntStatus.ZIPPING, "ZIPping up files...");
antMessages.put(AntStatus.DONE, "Build complete.");
antMessages.put(AntStatus.ERROR, "Error occurred.");
// Iterate and print messages
for (AntStatus status : AntStatus.values() ) {
out.println("For status " + status + ", message is: " +
antMessages.get(status));
}
}
Tiger 把枚举当作类,这可以从
AntStatus
的 Class
对象那里得到证明,该对象不仅可用,而且正被实际使用。归根到底, Tiger 还是把枚举看成是特殊的类类型。
- 整理:J2SE5枚举使用范例
- 枚举范例
- TypeScript 枚举使用整理
- J2SE5.0新特性之枚举类型
- J2SE5.0新特性之枚举类型
- J2SE5.0新特性之枚举类型
- J2SE5.0新特性之枚举类型
- JFreeChart1.0.1的使用范例(整理中)
- JFreeChart1.0.1的使用范例(整理中)
- swift_032(Swift enum枚举高级使用范例)
- 【数据结构】枚举enum范例
- J2SE5.0新特性之使用代理服务器
- J2SE5.0新特性之使用代理服务器
- J2se5 新特性 注释的使用
- J2SE5.0新特性之使用代理服务器
- Java学习整理系列之Java枚举类型的使用
- Java学习整理系列之Java枚举类型的使用
- Java学习整理系列之Java枚举类型的使用
- C语言之extern声明辨析
- 在blog中显示天气预报、日历、时钟、MSN、QQ在线状态
- 解决一个如何使用库文件的难题
- java程序的递归算法,列出某个目录下的所有子目录和文件
- HTTP/1.1 500 Internal Server Error 的问题!!!
- 整理:J2SE5枚举使用范例
- QNX: 拍案惊奇
- CCmdTarget
- CObject
- 在预装Win XP的电脑上安装Win 2000
- Session详解
- SQL事务隔离级别
- 设计模式之我爱我家
- 一次强大的疲倦