我正在阅读Joshua Bloch在2008年发表的Effective,其中一个技巧是用类替换枚举结构。下面是书中显示的示例。
public class Suit {
private final String name;
public Suit(String name) { this.name = name; }
public String toString() { return name; }
public static final Suit CLUBS = new Suit("clubs");
public static final Suit DIAMONDS = new Suit("diamonds");
public static final Suit HEARTS = new Suit("hearts");
public static final Suit SPADES = new Suit("spades");
}我的问题是,既然Java现在支持枚举类型,那么使用上面的方法仍然是一个好主意吗?下面是Java枚举类型示例。
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}发布于 2013-05-23 22:39:58
据我所知,java将enum-s编译为public static final对象。您可以通过使用javap (http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javap.html)查看枚举.class文件来检查这一点。
https://stackoverflow.com/questions/16716304
复制相似问题