java - Java 枚举应该在它们自己的文件中定义吗?

标签 java coding-style enums

如果我对枚举的理解是正确的,一个很好的例子就是使用它们来存储扑克牌的组,而不是四个魔数(Magic Number)或四个静态最终整数。

public class Card {
    // ...
    private enum CARD_SUITE { HEARTS, DIAMONDS, CLUBS, SPADES; }
}

但是如果 Card 的公共(public)方法需要一个套件作为参数怎么办,例如isSuite(CARD_SUITE 套件)?枚举是类(class)私有(private)的。为那一行创建一个新文件感觉非常不必要。这是怎么解决的?

最佳答案

您可以在同一个类中将其设为public,只有public class 应在单独的Java 文件中定义。

public class Card {
    // ...
    public enum CARD_SUITE { HEARTS, DIAMONDS, CLUBS, SPADES; }
}

然后您可以访问枚举,例如Card.CARD_SUITE.HEARTSCard.CARD_SUITE.DIAMONDS...

关于java - Java 枚举应该在它们自己的文件中定义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18718755/

相关文章:

java - 运行 Apache Camel 时出错

java - Log4j2不创建日志文件

ios - 这段代码的内存管理问题是什么?

grails - Grails枚举位置

c - 用枚举变量定义一个数组作为数组大小

c++ - 枚举类的operator +且起始值非零

java - Intent 消息传递困惑

javascript - 是否有更有效的算法来展平数组?

javascript - 在 `if` 条件下检查嵌套对象的更好方法?

c++ - 代码风格 : Reuse of a control expression or control variable in the branch of a switch/if statement