1. 程式人生 > 其它 >通過反射獲取傳遞的物件的屬性及值(key->value)

通過反射獲取傳遞的物件的屬性及值(key->value)

技術標籤:反射java

實體類自定義

我的實體類Student中有一下私有屬性
    private Integer Id;
    private String Name;
    private String Password;
    private Date Birthday;

以下是工具類

主體程式碼如下
public class StudentUtil {
    public static void doStu(Student student){
        //通過傳遞的student實體類物件作為引數反射獲取類資訊
        Class studentClass
= student.getClass(); //獲得某個類的所有宣告的欄位 Field[] fields = studentClass.getDeclaredFields(); for (Field field : fields) { //設定true訪問實體類中私有屬性 field.setAccessible(true); //列印實體類的私有屬性和對應實參 try { //注意要獲取實體類屬性對應具體引數需要field.get(student)將傳遞的物件傳進去
//field.getName()獲取實體類中定義的私有引數 System.out.println(field.getName()+"="+field.get(student)); } catch (IllegalAccessException e) { e.printStackTrace(); } } } }

測試類

public class TestStudent {
    public static void
main(String[] args) { Student student = new Student(1,"張三", "123456", new Date()); StudentUtil.doStu(student); } }

測試結果
在這裡插入圖片描述