我需要更改對象的URL,但我沒有源代碼,也沒有任何獲取和設置此對象的對象。我能夠在Eclipse調試器中看到這些值,但我沒有辦法修改它。從沒有源代碼訪問的對象獲取/設置值
變量port
收到一個對象(它實現了DwsSoap
接口),我沒有要訪問的源代碼。
DwsSoap port = service.getDwsSoap();
有這個對象,我想改叫address
中的一個字段,但我不知道如何去改變它或檢索。
爲了訪問address
,我需要首先訪問h
字段(如上圖所示)。這是我想做到這一點:
Object h = PropertyUtils.getProperty(port, "h");
但我得到一個NoSuchMethodException
:
java.lang.NoSuchMethodException: Unknown property 'h'
有沒有辦法,我可以在這個變量的訪問和更改address
的方法嗎?
雖然你有使用反射選項要直接改變這個領域(有人已經給出了這樣的答案),你必須意識到,除非你真的確定你在做什麼,否則這可能不是一個你想要的東西。如果他們不給你二傳手等,這可能是因爲改變這個領域是不合適的。手動更改它可能會破壞該obj實例的數據的內部一致性,並可能導致不可預知的問題。 –
感謝您發佈實際圖像磨坊...在我目前的代表級別,所有它允許的是我發佈鏈接。 – Shane