技术开发 频道

Java5中枚举使用简单举例

  【IT168 技术文档】Level是一个简单的枚举示例:A/B/C/D代表四个等级

  package java5study;   public enum Level {   A, B, C, D;   public void showAll() {   Level[] lv = Level.values();   // 这是Java5中新增的for语句,用于数组类型的for循环   for (Level l : lv) {   System.out.println("value:" + l);   System.out.println("ordinal:" + l.ordinal());   }   }   }

  其它类中,可以使用Level枚举类型:

  package java5study;   /**   * 该类中使用了Level枚举类型   *   * @author pengch   *   */   public class UseLevel {   private String name;   private Level level;   public Level getLevel() {   return level;   }   public void setLevel(Level level) {   this.level = level;   }   public String getName() {   return name;   }   public void setName(String name) {   this.name = name;   }   public String toString() {   StringBuffer sb = new StringBuffer();   sb.append(this.name);   sb.append(" 的Level是 ");   sb.append(this.level);   return sb.toString();   }   public static void main(String[] args) {   UseLevel ul = new UseLevel();   ul.setLevel(Level.A);   ul.setName("");   System.out.println(ul.toString());   // 枚举类型可以比较,大小关系是以枚举类型中原始排列各个值元素的顺序为依据的   // 在Level中,A   if (Level.A.compareTo(Level.B) > 0) {   System.out.println("A大于B");   } else if (Level.A.compareTo(Level.B) == 0) {   System.out.println("A等于B");   } else if (Level.A.compareTo(Level.B) < 0) {   System.out.println("A小于B");   }   // 枚举值的列举   ul.getLevel().showAll();   }   }

  运行结果:

  C:\java>java UseLevel

  一 的Level是 A

  A小于B

  value:A

  ordinal:0

  value:B

  ordinal:1

  value:C

  ordinal:2

  value:D

  ordinal:3

  Java5中提供了EnumMap,V>和EnumSet>两个集合类型,都是专门针对枚举类型的:

  package java5study;   import java.util.EnumMap;   /**   *   * 演示Java5中EnumMap的使用   *   *   * @author pengch   *   */   public class LevelMap {   public static void main(String[] args) {   EnumMap levelMap = new EnumMap(   Level.class);   levelMap.put(Level.A, "A级");   levelMap.put(Level.B, "B级");   levelMap.put(Level.C, "C级");   levelMap.put(Level.D, "D级");   for (Level lv : Level.values()) {   System.out.println(lv + ":" + levelMap.get(lv));   }   }   }

  运行结果:

  C:\java>java LevelMap

  A:A级

  B:B级

  C:C级

  D:D级

0
相关文章