我不确定这是否是一个明确的陈述,但在我看来,Java API 更喜欢使用常量整数而不是枚举。从我使用过的API部分来看,我遇到了许多
来自java.awt.BasicStroke:
事实上,我认为我从未在标准Java API类中看到过枚举的使用。这是为什么呢?
我正在为自己的应用程序设计API(比Java API小十亿倍,但我仍然试图聪明地处理它),并尝试决定是使用常量int还是枚举。 此 帖子引用了一本我还没有读过的非常受欢迎的书,暗示枚举具有许多优点。该线程中其他得分较高的答案大多同意。那么为什么Java似乎不使用自己的枚举功能呢?
final static int
常量,其中可以使用enum
代替。这是我此刻正在注视的一个例子:来自java.awt.BasicStroke:
public final static int CAP_BUTT = 0;
public final static int CAP_ROUND = 1;
public final static int CAP_SQUARE = 2;
事实上,我认为我从未在标准Java API类中看到过枚举的使用。这是为什么呢?
我正在为自己的应用程序设计API(比Java API小十亿倍,但我仍然试图聪明地处理它),并尝试决定是使用常量int还是枚举。 此 帖子引用了一本我还没有读过的非常受欢迎的书,暗示枚举具有许多优点。该线程中其他得分较高的答案大多同意。那么为什么Java似乎不使用自己的枚举功能呢?
enum
可用? - The111BasicStroke
早于 Java 1.5 中引入的enum
。 - Reimeus