java 获取继承字段_java – 从类中获取所有字段(甚至是私有的和继承的)
我在做大學項目。
我需要從類中獲取所有字段。甚至私人和繼承。我試圖獲取所有聲明字段,然后投射到超類并重復。
我的代碼片段:
private void listAllFields(Object obj) {
List fieldList = new ArrayList();
while (obj != null) {
fieldList.addAll(Arrays.asList(obj.getClass().getDeclaredFields()));
obj = obj.getClass().getSuperclass().cast(obj);
}
// rest of code
但它不工作。 tmpObj后的轉(zhuǎn)換仍然是同一個類(不是超類)。
我將欣賞任何幫助如何解決鑄造問題,或如何以不同的方式檢索這些字段。
編輯:
問題不是獲取字段,而是獲取字段的名稱!
我管理它的方式:
private void listAllFields(Object obj) {
List fieldList = new ArrayList();
Class tmpClass = obj.getClass();
while (tmpClass != null) {
fieldList.addAll(Arrays.asList(tmpClass .getDeclaredFields()));
tmpClass = tmpClass .getSuperclass();
}
// rest of code
總結
以上是生活随笔為你收集整理的java 获取继承字段_java – 从类中获取所有字段(甚至是私有的和继承的)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TraceView(profile) a
- 下一篇: SQL 取字符串列表