2011-03-11 10 views

回答

4

它真的回到了那些字符串的用途。例如,如果它們包含什麼是有效的靜態常量,則它們可能最好放置在需要它們的類中。或者如果被許多類使用,也許枚舉可能是一個更好的解決方案,因爲它允許你分組並有效地輸入它們。

然後你必須考慮它們是否是用戶會看到的字符串。在這種情況下,您可能需要將它們存儲在屬性文件或甚至數據庫中。特別是如果你想在未來某個時候允許國際化。

+0

如果需要本地化,您的IDE可能會幫助您準備這些屬性文件 - 例如,Eclipse提供了「外部化字符串」。 – 2011-03-11 01:22:50

0

一些替代方法:將它們放在磁盤上並根據需要讀取它們,將它們作爲常量放入界面中,然後使用枚舉。 你在做什麼?

+0

有沒有優勢使用枚舉? – user496949 2011-03-11 01:03:34

+0

界面中的常量不是一個好主意,不要使用它。接口應該描述一個對象的行爲,這與它可能需要的常量無關。請參閱:http://www.javapractices.com/topic/TopicAction.do?Id=32 – iluxa 2011-03-11 01:09:05

0

我建議使用ResourceBundle屬性

public class TestResource extends ListResourceBundle{ 
    public Object[][] getContents() { 
     Object [][]mydata={ {"key1","Data1"}, {"key2","Data2"}}; 
     return mydata; 
    } 
} 

public class Resx{ 

    public static void main(String []args) { 

    try{ 

     ResourceBundle rb=ResourceBundle.getBundle("TestResource"); 

     Enumeration e=rb.getKeys(); 
     String key; 

     while(e.hasMoreElements()){ 
      key=(String) e.nextElement(); 
      System.out.println(key + " " + rb.getObject(key)); 
     } 
    }catch(Exception ex) { 
     ex.printStackTrace(); 
    } 
    } 
} 
0

我從來沒有一個程序,它將所有的字符串存儲在一個單獨的文件是有意義的。

  • 字符串是自我記錄代碼的一部分。
  • 把所有字符串在中央文件打破模塊化
+0

你有沒有嘗試過任何國際化? – iluxa 2011-03-11 02:31:19

+0

是的,當我沒有記錯的時候,我沒有把所有的字符串常量放在一個大類中。你是否? TO是否談論i18n?我沒有這種感覺。 – 2011-03-11 04:48:10

相關問題