【转】深入显出J2SE 5.0 枚举类型(aka Enum<E extends Enum<E>>)

【转】深入浅出J2SE 5.0 枚举类型(aka EnumE extends EnumE)【转】http://www.iteye.com/topic/6556??深入

【转】深入浅出J2SE 5.0 枚举类型(aka Enum<E extends Enum<E>>)

【转】http://www.iteye.com/topic/6556

?

?深入浅出J2SE 5.0 枚举类型(aka Enum<E extends Enum<E>>)

(累死了。。)

原作者: Matt Quail (a.k.a. Spud)
翻译自:http://madbean.com/blog/2004/3/
原作基于 http://creativecommons.org/licenses/by/2.0/

翻译者 xangd xangd@yahoo.com.cn


“奉天呈运,Tiger昭曰:Enum将是经过命名的常量,而不再是一堆令人困惑的整数,钦此”

那么,欢呼吧!!! J2SE 5.0 beta已经发布,其中包含了JSR 201 (目前处于public review状态)的实现,JSR 201中包含了新的语言特性:enum,我想我应该去试试看。下面就是得到得到的结果,敢于试试看的就来吧。

深入
这里列出了定义和使用枚举类型的一个例子(取自JSR 201 文档).

?某些语言中,枚举类型只不过是披着羊皮的int。但是在上面的例子中,Suit是一个真正的class。实际上,他是java.lang.Enum的一个子类。

枚举类型 Suit经过编译以后的代码可能是这个样子。实际上,枚举类型Suit中的每一个常量都是被声明为public static final的Suit的一个实例。

Rank r = Rank.ACE;Suit s = Suit.HEART;r.compareTo(s);; // 语法错误,参数必须是Rank类型Rank z = Enum.valueOf(Rank.class, "TWO");;//不需要经过类型转换

?