java - 在整个应用程序中使用常量

标签 java constants

我在我的应用程序中引用的常数值很少。我正在创建一个类似下面代码片段的类。

    public class Styles {

public static final String tableStyle = "TableGrid";
public static final String fontFamily = "Calibri";
public static final String headerStyle = "Heading2";
public static final String footerStyle = "Heading3";
public static final String tableHeaderStyle = "Heading1";
public static final String tableDataFontFamily = "Cambria";
public static final int tableHeaderFontSize = 16;
public static final int tableDataFontSize = 12;

   }

我在其中分配值,并且我像 Styles.headerStyle 一样引用它们。我的疑问是,这是实现此目标的好方法还是有更好的方法?像 Enum 这样的东西?

提前致谢。

最佳答案

这取决于您的应用程序的性质,在大多数情况下,以这种方式拥有一组常量并不是一个好的做法,但如果不知道您的应用程序的上下文,则很难分辨。顺便说一句,确定您永远不会(或几乎永远不会)更改“fontFamily”之类的东西

当然,枚举会更简洁一点,功能更强大:

public enum Styles {

    TABLE_STYLE("TableGrid"),
    FONT_FAMILY("Calibri"),
    HEADER_STYLE("Heading2"),
    FOOTER_STYLE("Heading3"),
    TABLE_HEADER_STYLE("Heading1"),
    TABLE_DATA_FONT_FAMILY("Cambria"),
    TABLE_HEADER_FONT_SIZE("16"),
    TABLE_DATA_FONT_SIZE("12");

    private String value;

    private Styles(String value) {
        this.value = value;
    }

    public String getStringValue() {
        return value;
    }

    public int getIntValue() {
        return Integer.valueOf(value);
    }

}

关于java - 在整个应用程序中使用常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17962494/

相关文章:

c++ - constexpr 用指针初始化

c++ - 将 double 分配给 const int& vs int 分配给 const int&

java - 构建 Apache Ignite 源时出错

java - 在字符串的任意位置出现一个字符的正则表达式

java - 如何使用 ElGamal 加密/解密文本文件

const char const *char[] 编译器警告

java - BufferedReader 与 Java 中的 RandomAccessFile

java - 为什么不可变类 Integer 可以重置其值?

c++ - static, constexpr, const - 它们一起使用时是什么意思?

c++ - 在 C++ 中,堆分配的对象可以是 const 吗?