這樣做在單步驟中有點不方便。
當我們轉向多態概念時,存在一些挑戰,例如通過引用包含相同字段但包含靜態類型和最終類型的其他專用類(ABCXMLDOMnodes類,ABCHTMLDOMnodes類)動態地獲取數據的類(ABC類)生成缺少對象。希望你有這個要求。
1.創建字段的ArrayList這三個類的簡單名稱爲全局。
private static ArrayList<String> getAllFieldsSimpleNames(Class<?> beanClass) {
ArrayList<String> fieldNames = new ArrayList<String>();
Field[] fields = beanClass.getDeclaredFields();
for (Field field : fields) {
fieldNames.add(field.getName());
}
return fieldNames;
}
2.And然後生成對象,我們驗證字段(比如> 10個字段)針對助手類像下面的每一次是容易我感覺。
for(String a :abcFieldNames){
if(abcXMLfieldnames.contains(a)){
//code here
}else if(abcHTMLfieldnames.contains(a){
//code here
}
}
其他簡單的和動態的方式創造
HashMap<Class<?>, ArrayList<String>> = ...
hm.put(ABC.class, getAllFieldsSimpleNames(ABC.class));
hm.put(ABCXMLDOMnodes.class, getAllFieldsSimpleNames(ABCXMLDOMnodes.class));
if(hm.get(ABCXMLDOMnodes.class).contains("a"){...}
我的建議,Oracle公司JAVA網絡是如果「類的類」可以提供一種方法,返回給定類的字段名稱列表作爲字符串類型只會有所幫助。
或者,如果它不能被訪問一個SecurityException(例如它的'private') – CrackerJack9
完美,謝謝! – emachine
@ CrackerJack9沒有,訪問與'getfield命令()'不會拋出'SecurityException'私人領域。 – Bombe