我对以下代码有疑问:
public Class Settings{
public static final String WelcomeMessage= "helloworld";
public static final String ByeMessage= "yo";
public static String[] widgets = {WelcomeMessage,ByeMessage};
}
编译器提示重复变量。我可以删除 2 个单独的变量并仍然通过 Settings.WelcomeMessage 访问 WelcomeMessage 吗?我不需要通过 Settings.widget[0] 访问它吗?是否可以向 WelcomeMessage 变量添加另一个变量(例如使用静态哈希表)?
编辑:我知道这段代码看起来不对,但它只是一个示例,因为我想知道为什么编译器认为 WelcomeMessage(作为一个单独的变量)与 Widgets 数组中的变量相同。
最佳答案
在你的情况下我会考虑 java-enums:
public enum Settings {
WelcomeMessage ("helloworld"),
ByeMessage ("yo");
public final String value;
Settings(String value) {
this.value = value;
}
}
您现在可以通过 Settings.WelcomeMessage.value
访问这些值。您还可以使用 Settings.values()
获得枚举列表。
关于java - 重复的静态字段(数组与字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4955927/