等看完了Thinking in Java后还是很有必要看一遍Core Java的,JDK5新增的东西Thinking in Java都没提到。

枚举类

l public enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE };

这样已经定义了一个Size类,它是java.lang.Enum类的子类。

l 枚举类的相等判断可以直接使用==符号。

l 可以在枚举类中添加构造器、方法和数据域。构造器只能在枚举常量初始化的时候使用。

enum Size

{

SMALL("S"), MEDIUM("M"), LARGE("L"), EXTRA_LARGE("XL");

private Size(String abbreviation) { this.abbreviation = abbreviation; }

public String getAbbreviation() { return abbreviation; }

private String abbreviation;

}

l toString()方法返回枚举常量的常量名,如

Size.SMALL.toString()

返回”SMALL”

l valueOf方法则将由变量名得到枚举常量,如

Size s = (Size) Enum.valueOf(Size.class, “SMALL”);

s设置为Size.SMALL

l values()方法返回所有的枚举常量,如

Size[] values = Size.values();

l 事实上,Enum类含有类型参数,例如Size类实际上是Enum>Size<


posts - 403, comments - 310, trackbacks - 0, articles - 7
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2.22 Java notes - Enumeration Classes

Posted on 2007-04-22 20:24 ZelluX 阅读(335) 评论(0)  编辑  收藏 所属分类: OOP
2007-02-22 23:08:37
只有注册用户登录后才能发表评论。


网站导航: