我已经在很多Java库中看到了很多常量的使用,其中很容易使用枚举。即使在Swing中,也有很多代码使用常量而不是枚举。为什么呢?
使用枚举有什么缺点?
答案 0 :(得分:12)
因为枚举是在Java 5中引入的,所以这些库早就写好了。重构它们将破坏现有应用程序的数量。
答案 1 :(得分:8)
我发现我仍然告诉人们使用enum作为Singleton,即使它已经存在了7年了。 :P
何时使用常量而不是枚举?当你有许多相关但不直接相关的常数时。
public static final int BUFFER_SIZE = 32 * 1024;
public static final String ERROR = "Error: ";
public static final char TAB = 't';
答案 2 :(得分:1)
Java中的枚举是在Java 5中引入的,以前没有这些,而且Enum相当于java中的一个类。
答案 3 :(得分:0)
在Java 1.5之前,Java中没有enum
,实现枚举模式最直接的方法是使用const int。您可以在Java Tutorial section for enums中阅读更多内容。