[英]Alternative practice for hard coding text strings in a Java program?
在我的程序中,我有很多字符串和重復的字符串。 有沒有一種方法可以將文本字符串與源代碼分開。 我不想在程序中對字符串進行硬編碼。
在PHP中,我曾經有一個文件,其中包含每個字符串的列表變量。 但是因為Java是OOP,所以我不知道如何實現相同的想法。
我的程序是命令行程序。
另一種選擇是使用屬性文件(鍵值),就像在PHP中一樣。
即使它是命令行程序,您仍然可以擁有屬性文件。 您可以將文件位置作為命令參數傳遞(或)相對於類放置文件,並使用相對路徑訪問文件。
如果非Java開發人員不需要更改您的字符串,則可以將它們全部放在單獨的類中,如下所示:
public final class Texts {
public static final String MYSTR1 = "str1";
public static final String MYSTR2 = "str2";
...
private Texts() {} // Prevents instantiation
}
這樣做使某些維護任務更加容易,例如:
使用靜態類來保存您的全局變量。
public class Statics
{
public static final String GLOBAL_NAME = "Stuff";
public static final int GLOBAL_INT = 9999;
}
並在您的班級中訪問它。
Statics.GLOBAL_NAME
如果使用的是Java 1.7(SE 7),則可以使用java.util.Properties。 Java文檔提供了很好的解釋。 這是一個代碼片段:
String fileName = "/path/to/file/thePropertiesFileName.properties";
FileReader reader = new FileReader(fileName);
Properties prop = new Properties();
prop.load(reader);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.