枚举

来源:互联网 发布:匡恩网络 奇葩 编辑:程序博客网 时间:2024/06/11 05:11

-- Start

枚举通常用来封装一组表示分类的常量值, 如: 生物包括动物和植物, 我们可以定义如下枚举来表示生物.

enum Organism {ANIMAL, PLANT;}

从本质上说, 上面语句的意思是定义一个类 Organism, 它有两个实例 ANIMAL 和 PLANT. 因为它本质上是类, 所以我们还可以给枚举添加构造器, 方法和域.

enum Organism {ANIMAL("A"), // 调用构造器 PLANT("P"); // 调用构造器 // 构造器不能为 public, 从而保证我们不能从枚举类外部实例化private Organism(String abbreviation) {this.abbreviation = abbreviation;}public String getAbbreviation() {return abbreviation;}private String abbreviation; // 缩写}
比较枚举时我们不需要调用 equals 方法, 直接使用 == 即可.
所有枚举都继承自 Enum 类. 这个类提供了好多方法, 其中最重要的莫过于下面两个方法, 它们允许我们将枚举和String类相互转换, 下面是一个简单的例子.

public static void main(String[] args) {// 将字符串 ANIMAL 转换为枚举 Organism.ANIMALOrganism.valueOf("ANIMAL");// 将枚举 Organism.ANIMAL 转换为 字符串 ANIMALString animal = Organism.ANIMAL.toString();System.out.println(animal);}

---更多参见:Java 精萃

-- 声 明:转载请注明出处
-- Last Updated on 2012-05-23
-- Written by ShangBo on 2012-05-23
-- End