【发布时间】:2011-10-23 20:13:27
【问题描述】:
我想将此示例 C# 代码转换为 java 代码:
public enum myEnum {
ONE = "one",
TWO = "two",
};
因为我想把这个常量类改成枚举
public final class TestConstants {
public static String ONE = "one";
public static String TWO= "two";
}
【问题讨论】:
-
至于枚举,下面还有很多其他的正确答案(以及上面的必读链接)。只是想补充一点,如果您的类包含一些像您的示例中那样的常量(我现在不是在谈论枚举!!!)您可以简单地以这种方式定义接口: public interface TestConstants { String TEST = "test"; /*...*/ } 接口“字段”是隐式公共静态的。
-
@Arturs Licis:使用接口来保存常量是一种反模式。接口旨在定义行为。使用带有私有构造函数的常规类来保存常量。静态导入可用于访问常量,而无需将类名放在前面。
-
@JB Nizet:完全同意,这就是为什么我说'我现在不是在谈论枚举!!!'我只是展示了一种更准确的方式来声明“常量持有者”(接口与类)。
-
@Arturs Licis:我的观点是,您不应该使用接口来保存常量,而应该使用类:公共类 TestConstants 而不是公共接口 TestConstants。如果您完全同意我的观点,为什么要向 OP 提出这个建议?