等看完了Thinking in Java后還是很有必要看一遍Core Java的,JDK5新增的東西Thinking in Java都沒提到。
枚舉類
l public enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE };
這樣已經(jīng)定義了一個(gè)Size類,它是java.lang.Enum類的子類。
l 枚舉類的相等判斷可以直接使用==符號(hào)。
l 可以在枚舉類中添加構(gòu)造器、方法和數(shù)據(jù)域。構(gòu)造器只能在枚舉常量初始化的時(shí)候使用。
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設(shè)置為Size.SMALL
l values()方法返回所有的枚舉常量,如
Size[] values = Size.values();
l 事實(shí)上,Enum類含有類型參數(shù),例如Size類實(shí)際上是Enum>Size<