獲取 Java 中所有已宣告欄位的列表
使用 java.lang.Class.getDeclaredFields() 方法可獲取所有已宣告欄位的列表,因為它會返回欄位物件陣列。這些欄位物件包括具有 public、private、protected 和 default 訪問許可權的物件,但不包括繼承來的欄位。
此外,如果類或介面沒有宣告的欄位,或者在 Class 物件中表示基本型別、陣列類或 void,則 getDeclaredFields() 方法將返回零長度陣列。
下面給出了演示此方法的程式 −
示例
import java.lang.reflect.*;
public class Demo {
public static void main(String[] argv) throws Exception {
Class c = java.lang.String.class;
Field[] fields = c.getDeclaredFields();
for(int i = 0; i < fields.length; i++) {
System.out.println("The Field is: " + fields[i].toString());
}
}
}輸出
The Field is: private final char[] java.lang.String.value The Field is: private int java.lang.String.hash The Field is: private static final long java.lang.String.serialVersionUID The Field is: private static final java.io.ObjectStreamField[] java.lang.String.serialPersistentFields The Field is: public static final java.util.Comparator java.lang.String.CASE_INSENSITIVE_ORDER
現在,讓我們瞭解一下上面的程式。
類 c 包含 java.lang.String.class。然後,陣列 fields[] 使用方法 getDeclaredFields() 儲存從該類獲得的欄位物件。然後使用 for 迴圈顯示該欄位。下面是一個演示此方法的程式碼片段 −
Class c = java.lang.String.class;
Field[] fields = c.getDeclaredFields();
for(int i = 0; i < fields.length; i++) {
System.out.println("The Field is: " + fields[i].toString());
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP