我想用Java製作一個GUI,用戶可以在其中選擇一個bean,編輯其字段,然後將創建的bean的實例添加到隊列中。我的問題是關於訪問字段。我有一個從MyParentObject繼承的類MyCompositeObject。 MyParentObject由多個bean組成,每個bean由更多的bean組成。 MyCompositeObject類也由bean組成。我想從MyCompositeObject中找到所有可訪問的字段。如何查找包含在java bean中的所有成員變量的字段
Class MyParentObject
{
MyObjectOne fieldOne;
MyObjectTwo fieldTwo;
String name;
...
}
Class MyCompositeObject extends MyParentObject
{
MyObjectThree fieldThree;
Integer number;
...
}
Class MyObjectThree
{
boolean aBoolean;
MyObjectFour fieldFour;
...
}
我一直在試圖使用的BeanUtils API,但我陷入試圖讓所有的成員豆的領域。我想象的是對MyCompositeObject的一個實例可以訪問的所有字段進行深度優先搜索。例如,這將包括但不限於以下字段:MyCompositeObject.fieldOne,MyCompositeObject.number,MyCompositeObject.fieldThree.aBoolean。
我意識到,當我嘗試:
Fields[] allFields = BeanUtils.getFields(myCompositeObject);
,我是在我的頭上。迄今爲止,我的研究還沒有發現任何可以完成我所描述的預建方法。請讓我知道任何可以做到這一點的API方法或告訴我如何構建我自己的方法。謝謝。
感謝。這使我獲得最大的方式。仍然需要考慮獲取所有領域的遞歸。 – 2012-10-01 12:43:18