java如何獲取實體類的屬性名和屬性值
更新時間:2023年11月14日 09:47:54 作者:小豆的編程世界...
這篇文章主要介紹了java如何獲取實體類的屬性名和屬性值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
Field是什么?
Field是一個類,位于java.lang.reflect包下。
在Java反射中Field類描述的是類的屬性信息,功能包括:
獲取當前對象的成員變量的類型對成員變量重新設(shè)值
Field常用方法
getType()
: 獲取屬性聲明時類型對象(返回class對象)getGenericType()
:返回屬性聲的Type類型getName()
: 獲取屬性聲明時名字getAnnotations()
: 獲得這個屬性上所有的注釋getModifiers()
: 獲取屬性的修飾isEnumConstant()
: 判斷這個屬性是否是枚舉類isSynthetic()
: 判斷這個屬性是否是 復合類get(Object obj)
: 取得obj對象這個Field上的值set(Object obj, Object value)
: 向obj對象的這個Field設(shè)置新值value
Field獲取實體類的屬性名和屬性值
實現(xiàn)步驟
- 獲取實體類 返回的是一個數(shù)組 數(shù)組的數(shù)據(jù)就是實體類中的字段
- 添加setAccessible()因為的字段是用private修飾的
- 輸出屬性名和屬性值
User user = new User(); //獲取實體類 返回的是一個數(shù)組 數(shù)組的數(shù)據(jù)就是實體類中的字段 Field[] fields = user.getClass().getDeclaredFields(); for (int i = 0; i < fields.length; i++) { //有的字段是用private修飾的 將他設(shè)置為可讀 fields[i].setAccessible(true); try { // 輸出屬性名和屬性值 System.out.println("屬性名"+fields[i].getName()+"-----屬性值"+fields[i].get(user)); catch (IllegalAccessException e) { e.printStackTrace(); } }
輸出結(jié)果
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何解決Could not transfer artifact org.spri
在Maven更新過程中遇到“Could not transfer artifact org.springframework.boot”錯誤通常是由于網(wǎng)絡(luò)問題,解決方法是在Maven的設(shè)置中忽略HTTPS,添加特定語句后,可以正常下載依賴,但下載速度可能較慢,這是一種常見的解決方案,希望對遇到相同問題的人有所幫助2024-09-09