創建具有名稱值的屬性我有一個包含值的String
,說「test
」。 現在我需要創建一個Properties
於文件名的String
值。 爲了清楚起見,在一個字符串
String propName = "test";
我需要其可以創建以下的邏輯:
Properties test = new Properties();
之所以這樣要求:我的String
陣列,其Properties
必須被創建。
創建具有名稱值的屬性我有一個包含值的String
,說「test
」。 現在我需要創建一個Properties
於文件名的String
值。 爲了清楚起見,在一個字符串
String propName = "test";
我需要其可以創建以下的邏輯:
Properties test = new Properties();
之所以這樣要求:我的String
陣列,其Properties
必須被創建。
此要求的原因:我有一個字符串數組,其 屬性必須創建。
您可以使用Map<String, Properties>
來實現。
Map<String, Properties> myMap = new HashMap<>();
myMap.put("test", new Properties());
那麼你會如何調用getProperty()? –
@KarthikVU'myMap.get(「test」)。getProperty()'? –
謝謝:) :) –
目前尚不清楚你打算如何添加值每個Properties
,所以我會認爲你只是想要一些默認值了。
String[] keys = { "test1", "test2", "test3" };
Properties props = new Properties();
for (String k: keys) {
props.put(k, "some value");
}
// Prints out the property value
System.out.println("Value of test2 property: " + props.getProperty("test2"));
你只需要一個單一的對象Property
存儲多個密鑰 - >值Strings
作爲屬性。
+1這也可能是解決方案,它不是100%清楚運算的要求。 –
我很抱歉,但問題是,從數組中創建一個新的屬性。這裏我們在單個屬性中創建值。 –
這裏沒有任何答案能完全給你你所要求的。你問的是如何從一個字符串數組中生成* variable *名字。實現你最初要求的唯一方法是編譯時代碼的一種形式。 – willjcroz
你不能在Java中做到這一點。 – Maroun
我認爲你必須在Java中使用某種反射才能做到這一點。 http://docs.oracle.com/javase/tutorial/reflect/ –
您可以將屬性存儲在由屬性名稱字符串索引的地圖中。 –