我有一個配置文件是這樣的:如何用java反射填充複合對象?
Provider Search,ConfigURL,http://myUrl
我想用反射
public class MyPrefrences {
public ProviderSearch ProviderSearch;
}
public class ProviderSearch {
public String ConfigURL;
}
這裏是我的代碼來填充這個對象,但我不能設置複合對象:
MyPrefrences myPrefrences = new MyPrefrences();
try {
Field field = myPrefrences.getClass().getDeclaredField(normalizedCategory);
Field field2 = field.getClass().getDeclaredField(normalizedKey);
field2.set(field, val);
} catch (Exception ex) {
throw new RuntimeException(ex);
}
你會怎麼做
a)如果所有的葉子成員都是String?
b)如果我的葉子可以是原始的和非原始的?
我試過這段代碼,它適用於我。在你的例外configURL以小寫字母'c'開頭,並在getDeclaredField與UpperCase.Check你的字段名稱 –