想要創建一個獨立的類並將所有字符串存儲在其中。這是一個好方法還是有更好的方法?有很多最終的字符串,你推薦將它們放在java中?
回答
它真的回到了那些字符串的用途。例如,如果它們包含什麼是有效的靜態常量,則它們可能最好放置在需要它們的類中。或者如果被許多類使用,也許枚舉可能是一個更好的解決方案,因爲它允許你分組並有效地輸入它們。
然後你必須考慮它們是否是用戶會看到的字符串。在這種情況下,您可能需要將它們存儲在屬性文件或甚至數據庫中。特別是如果你想在未來某個時候允許國際化。
如果需要本地化,您的IDE可能會幫助您準備這些屬性文件 - 例如,Eclipse提供了「外部化字符串」。 – 2011-03-11 01:22:50
一些替代方法:將它們放在磁盤上並根據需要讀取它們,將它們作爲常量放入界面中,然後使用枚舉。 你在做什麼?
有沒有優勢使用枚舉? – user496949 2011-03-11 01:03:34
界面中的常量不是一個好主意,不要使用它。接口應該描述一個對象的行爲,這與它可能需要的常量無關。請參閱:http://www.javapractices.com/topic/TopicAction.do?Id=32 – iluxa 2011-03-11 01:09:05
我建議使用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();
}
}
}
我從來沒有一個程序,它將所有的字符串存儲在一個單獨的文件是有意義的。
- 字符串是自我記錄代碼的一部分。
- 把所有字符串在中央文件打破模塊化
你有沒有嘗試過任何國際化? – iluxa 2011-03-11 02:31:19
是的,當我沒有記錯的時候,我沒有把所有的字符串常量放在一個大類中。你是否? TO是否談論i18n?我沒有這種感覺。 – 2011-03-11 04:48:10
- 1. Java:將字符串轉換爲現有的最終對象
- 2. Java中的最終字符
- 3. 從URL獲取多個值並將它們放在一個字符串中
- 4. Java中的字符串我們可以將「你好」轉換爲你好
- 5. Java:將字符串拆分並將它們放到文本區域的
- 6. 最終一致性的GUI推薦?
- 7. 你應該在RoR中存儲很多自定義字符串?
- 8. JAVA - 你如何將一個字符串推入堆棧?
- 9. 最終字符串[]和最終字符串
- 10. Java - 一次替換很多字符串
- 11. 非最終靜態字符串比靜態最終字符串更有效嗎?
- 12. 你推薦什麼CVS客戶端Java?
- 13. 你推薦什麼Java Collections庫?
- 14. 把每個字符串放入它自己的字符串 - java
- 15. Java中的字符串終結符
- 16. Json字符串字段和值列表將它們放在表中
- 17. 你有推薦的Netbeans插件嗎?
- 18. 如何將多個搜索到的推文放入字符串
- 19. 在java中將字符串分割成多個子字符串
- 20. 分割字符串,而將它們放入一個TreeMap
- 21. 你如何在一起添加很多字符串?
- 22. 如何從字符串中除去數字,並將它們放入數組中?
- 23. 在一個字符串中有多少次子字符串[Java]
- 24. 終身返回的字符串和它們的.c_str()
- 25. 獲取所有家長,並將它們存儲在字符串
- 26. 將最終值推遲到子類java
- 27. 在二維字符串數組中存儲很多字符串
- 28. 推薦在C++中進行字符串賦值?
- 29. 從字符串中提取數字,將它們保存到數組中,並將它們放回到字符串中
- 30. 推薦系統:ValueError at /無法將字符串轉換爲float:
您需要提供有關這些字符串的性質和宗旨的一些信息。 – 2011-03-11 02:15:20