1. 程式人生 > >利用反射獲取實體類中的私有屬性

利用反射獲取實體類中的私有屬性

平時接並沒有怎麼接觸反射,今天遇到了,就記錄下來把

我的檔案結構


說明:1.Student.java是實體類,裡面是一些私有的屬性欄位

    2.FanSheUtil.java是整個的核心類,

    3.Demo.java 是測試類

步驟:

1.建立一個Student類,程式碼如下:

package wge.learn.fanshe;

public class Student {
	private int age;
	private String name;
	private String code;
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	
}

2.建立核心工具類FanSheUtil.java

程式碼如下:

package wge.learn.fanshe;

import java.lang.reflect.Field;

public class FanSheUtil {
	public static <T> void getMethod(Class<T> beanClass) throws Exception {
		Field[] f =  beanClass.getDeclaredFields();
		for(Field field : f){
			field.setAccessible(true);
			String name = field.getName();
			System.out.println("屬性欄位:"+name);
		}
	}
}
3.建立測試類Demo.java

程式碼如下:

package wge.learn.fanshe;

public class Demo {
	public static void main(String[] args) throws Exception {
		FanSheUtil.getMethod(Student.class);
	}
}
4.執行結果:




相關推薦

利用反射獲取實體私有屬性

平時接並沒有怎麼接觸反射,今天遇到了,就記錄下來把 我的檔案結構 說明:1.Student.java是實體類,裡面是一些私有的屬性欄位     2.FanSheUtil.java是整個的核心類,     3.Demo.java 是測試類 步驟: 1.建立一個Studen

Java使用PropertyDescriptor獲取實體私有屬性的值,並給私有屬性賦值

大家都知道Java類中的私有的(private)屬性是獲取不到的(即使使用繼承依然獲取不到),那如果非要獲取私有屬性的值怎麼辦呢?一般的做法是將該java類封裝稱為一個JavaBean,即封裝該私有屬性,提供一對共有的get,set方法來訪問私有屬性。一般情況下都會這樣做

Java使用PropertyDescriptor獲取實體私有屬性的值,並給私有屬性賦值!

下面看一段程式碼:BeanUtils.javapackage yw.javaben; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; /** * 獲取私有屬性值JavaBean的幫助類 * @author y

C# 反射修改私有靜態成員變數 反射獲取修改屬性

//動態連結庫中ClsPublic類有一變數 private static string key="1111";//下面通過反射的技術修改和獲取值//設定key public static void updatePalmKey(string key = "t

利用反射獲取實體的相關資訊

假設我們現在有一個實體類sys_config 1.獲取該實體的資訊有3種方法: 第一種(通過物件呼叫 getClass() 方法來獲取,通常應用在:比如你傳過來一個 Object 型別的物件,而我不知道你具體是什麼類,用這種方法): // 利用new實體來獲取,

java利用反射獲取物件名以及物件屬性

原本想用來做搜尋的時候用,但是沒用上,所以還是貼出來。這個可以用在迴圈判斷物件的時候比較有用,程式碼如下:   rr=new ReceiveResume();   String a=rr.getClass().toString();   String b[]=a.spl

Android通過反射使用超私有屬性

自己定義的FocusLIstiew,初始化的時候讓他選定到某一行位置(不是預設的第一行的位置0),ListView預設是從第一行開始選中的,即其超類的超類AdapterView有一個私有屬性mFirstPosition ,預設為0。所以只能通過反射去修改該私有屬性。 程式碼

反射獲取一個私有方法

st2 取消 目的 tac cat trac 屬性 一起 dao 今天在刷面試題的時候,發現一個題目是編寫程序通過反射獲取一個類的私有方法,因為之前學反射的時候也學的淺,沒有考慮到這樣的事情。今天敲了一下,雖然也就是那麽幾行代碼,還是磕磕絆絆的,最後終於搞定了,這裏總結一下

resultMap自定義映射---8.3.1. 解決列名(表的字段名稱)和實體屬性名不一致

lec per 編寫 動態代理 參數類型 ID res HERE 用戶 1.1.1.1. 步驟一:將駝峰匹配註釋掉 --------------測試完成後仍然 回來開啟 其他地方可能用到 一旦註釋掉駝峰匹配,那麽再通過queryUserById查詢的結果中,用戶

【java學習筆記】MyBatis實體屬性名和表的欄位名不一樣時的解決方法

在使用MyBatis開發DAO層時,當實體類中的屬性名和表中的欄位名不一樣時,查詢出來的值為null,此時有3種解決方法 解決方法1                在Mapper.xml對映檔案中,寫SQL語句時起別名 解決

C# DataReader反射獲取實體(model) ,實體集List

public static T FillModel<T>(IDataReader dr)         {          

spring aop 獲取攔截屬性的值

最近搭建一個ssh的通用架子時,想做個通用日誌的攔截方法,可以利用反射獲取攔截類中的屬性 不多說,上程式碼 日誌類 public class MyLog { public void doBefore(JoinPoint jp) throws SecurityExcepti

訪問私有屬性的方式(兩種)

1.首先要理解私有屬性:    私有屬性主要是指  Python中單下劃線和雙下劃線的區別  (比較直白的意思是:) _x: 單前置下劃線,私有化屬性或方法,from somemoudle import *禁止匯入,類物件和子類可以訪問 __xx:雙前置下劃線,避免與子

Java通過例項得到實體屬性屬性

方式一(實體類):1234567//java中遍歷實體類,獲取屬性名和屬性值public static void testReflect(Object model) throws Exception{for (Field field : model.getClass().ge

java獲取實體的get、set方法名

/** * java反射bean的get方法 * * @param objectClass * @param fieldName * @return */ @Suppr

利用反射獲取與修改private的屬性的值

fieldValue = The Private Value fieldValue = As you see,privateString 'value is changed! Exception in thread "main" java.lang.IllegalAccessException: Clas

java 實體日期屬性格式化 @JSONFORMAT 日期格式自動格式化

通常日期格式都是以時間戳的形式存放在資料庫裡,當前端頁面通過介面查詢時,我們會將一個物件的某些屬性查出來返回給頁面。 例如,某個類裡面有個屬性 Timestamp create_time 給這個物件實體類中的get方法加註解:@JsonFormat 來實現

利用反射獲取,父,介面的資訊

1.測試類: package com.example; import com.example.utils.StringUtils; import java.lang.reflect.Field; import java.lang.reflect.Inv

反射獲取實體裡面值,按照實體順序輸出

package com.bestpay.billVerify.models; import java.lang.reflect.Field; import lombok.Getter; import lombok.Setter; /** * @ClassName:A

java利用反射機制獲取實體屬性自定義註解說明

最近做專案,需要利用java反射機制,獲取實體類自定義註解的說明資訊 1.自定義註解 <strong>package com.bjhy.platform.criminal.search.c