2014-07-25 34 views
1

我有24個字符串非常詳細,就像這樣:「輸入一個基因符號或通用名稱...」現在,通常使用較短的字符串常量和較小的屬性,我在類中聲明內部枚舉。但是,由於這些字符串中有24個,我不確定是否有更高效或更簡潔的方式來組織我的代碼。如何管理多個詳細的字符串常量?

附加信息:

    我只使用這些字符串一次
  • 需要把它們放入一個String數組爲它用於特定目的
  • 該類包含這些字符串
  • ,在使用它們

這裏唯一的類是我當前的代碼:

private static String[] getTemplateDefaults() 
    { 
     String[] defaults = new String[] 
     { 
      "Enter Gene symbol or common name", 
      "Enter blah blah blah", 
      "Enter blah blah blah", 
      "Enter blah blah blah", 
      "Enter blah blah blah", 
      // continued for 19 more times... 
     }; 

     return defaults; 
    } 

真的只是尋找一些想法來組織這個沒有它看起來如此繁瑣。

謝謝!

+0

如果你使用每個字符串一次,定義它的常量有什麼意義?把它們全部放入數組有什麼意義?你有什麼收穫?沒有。你輸了什麼?可讀性。 'System.out.println(「輸入一個基因符號或通用名稱......」)'比'System.out.println(getTemplateDefaults()[5])更具可讀性' –

+0

我將它傳遞給需要一個數組。我只是想知道我是否應該像我擁有的​​方式那樣,或者以另一種方式去做。 – cno

+1

如果目標是有一個恆定的,不可變的字符串列表,那麼每次都沒有理由生成一個新的數組。將其定義爲「靜態最終列表 MESSAGES」並使用'Collections.unmodifiableList()'初始化此常量。 –

回答

7

真的只是尋找一些想法來組織這個沒有它看起來如此繁瑣。

我寧願把這些常量字符串一些屬性文件並閱讀其上的負載,這樣你將不得不修改這些字符串,而無需重新編譯代碼的能力,這將是整齊

+0

此外,它會支持將應用程序轉換爲另一種語言,而無需更改代碼 – Loki

+0

我提高了您的答案,因爲這是一個很好的通用解決方案。但是,對於我的問題,字符串確實需要顯着呈現。感謝您的輸入! – cno

+0

爲什麼不是這個建議? –

0

Java提供支持爲字符串表。你應該使用這些而不是硬編碼的字符串到你的應用程序中。

如果您採用這種技術,您還可以輕鬆地推廣到多語言支持。

大多數集成開發環境支持簡單編輯字符串表資源。

+1

其實我從來沒有聽說過這個。在Eclipse中調用了什麼?我找不到它 – Loki

+0

Seconding @Loki,什麼是「字符串表」? – whiskeyspider