2013-07-31 11 views
1

我有很少的常數值可以在我的應用程序中引用。我正在創建一個類如下面的代碼片段。在整個應用程序中使用常量

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

在此先感謝。

+0

這可能屬於http://programmers.stackexchange.com – sanbhat

回答

2

這取決於你的應用程序的性質,在大多數情況下,這不是一個很好的做法,在這樣的常量的集合,但它是很難分辨不知道你的應用程序的情況下。順便說一句,相信你永遠不會(或幾乎不會)改變像「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); 
    } 

} 
+0

即可還添加了一個屬性文件,但你可以使用這個答案的任何方法數16和12都是String –

+0

他爲int的xD不串 – nachokk

+0

好@nachokk,我會更新枚舉也處理INTS – morgano

2

1)您可以使用一個外部文件爲Property File

2)你可以使用一個枚舉作爲@morgano回答

3)我想你的類聲明更改爲

public final class Styles { // final class can't have childs 

private Styles(){} // you cannot instanciate 

public static final String tableStyle = "TableGrid"; 
. 
. 
. 
} 
+0

感謝您的解決方案 – MaheshVarma

相關問題