编码风格Java枚举应该在它们自己的文件中定义吗?
如果我正确理解了枚举,一个很好的例子是使用它们来存储扑克牌套件,而不是四个幻数或四个静态最终整数
public class Card {
// ...
private enum CARD_SUITE { HEARTS, DIAMONDS, CLUBS, SPADES; }
}
但是如果Card
的公共方法需要一个套件作为参数,例如isSuite(CARD_SUITE suite)
,该怎么办?枚举对类是私有的。为这一行创建一个新文件感觉非常不必要。这是怎么解决的
# 1 楼答案
可以在同一个类中设置
public
,只有publicclass
应该在单独的Java文件中定义然后你可以访问
enum
像Card.CARD_SUITE.HEARTS
,Card.CARD_SUITE.DIAMONDS
# 2 楼答案
你可以在你的CARD类中有一个公共CARD_SUITE枚举。如果枚举只是一个值列表,那么它是有意义的
如果您的枚举有一些方法、实现一些接口等,那么最好在自己的文件中定义它
# 3 楼答案
枚举是普通的Java类,所以为它们创建一个单独的类文件是完全合适的
在我看来,它绝对更清晰,更容易搜索