java - 重复的静态字段(数组与字符串)

标签 java static

我对以下代码有疑问:

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/

相关文章:

java - 从用户输入字符串中删除空格

java - 无法比较 AJAX 调用返回的字符串

java - 想先找到焦距,然后使用 opencv android 实时检测到人脸的距离

c - 初始化静态结构

c - 返回指向静态局部变量的指针

java - 具有同步和非同步方法的 ConcurrentModificationException

java - J2ME 从 Vector 获取特定对象

c++ - 继承类为静态

asp.net - 在 ASP.NET 中通过 HttpModule 处理静态文件

Java 静态变量 - Foo.var = value 和 var = value 之间的区别?