-1
想要更改對象的內部元素的值。如何更改對象的內部元素的值
試過如下,但無法獲得對象的內部元件的數值。 首先爲循環提供正確的輸出。但第二個for循環給出像「CASE_INSENSITIVE_ORDER」對象的屬性,等等
公共靜態無效settingConcordion()拋出異常{
Object Collect = config.getInstance();
System.out.println("*********test Please ***"+Collect);
Class<? extends Object> c1 = Collect.getClass();
Field[] fields = c1.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
Object name = fields[i].getName();
// 1st for loop works correctly
if (name.equals("webConfig")){
System.out.println("Changes is need to be done " + name +"service");
Class<? extends Object> c2 = name.getClass();
Map<String, Object> map1 = new HashMap<String, Object>();
fields= c2.getDeclaredFields();
for (int j = 0; j < fields.length; j++){
System.out.println(fields[j].getName());
//It gives me some properties values
}
}
}
這裏是一個輸出: - 這是第一個for循環的輸出: -
INSTANCE
testTypes
keywordDrivenFilePath
kdConfig
xlsDataConfig
webConfig
這是第二的輸出爲環路: -
hash
serialVersionUID
serialPersistentFields
CASE_INSENSITIVE_ORDER
HASHING_SEED
hash32
hash32
而我想獲取這些元素
currentTestBed
hub
noproxy
password
port
proxy
.
.
.
etc
你可以發佈完整的輸出嗎? –
如果我理解你的請求,你的代碼幾乎是一個矯枉過正的問題。你不反思改變價值觀,除非這個領域被特意實施爲一個私人領域而沒有一個設定者。 –