java如何獲取實(shí)體類的屬性名和屬性值
更新時(shí)間:2023年11月14日 09:47:54 作者:小豆的編程世界...
這篇文章主要介紹了java如何獲取實(shí)體類的屬性名和屬性值問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
Field是什么?
Field是一個(gè)類,位于java.lang.reflect包下。
在Java反射中Field類描述的是類的屬性信息,功能包括:
獲取當(dāng)前對象的成員變量的類型對成員變量重新設(shè)值
Field常用方法
getType()
: 獲取屬性聲明時(shí)類型對象(返回class對象)getGenericType()
:返回屬性聲的Type類型getName()
: 獲取屬性聲明時(shí)名字getAnnotations()
: 獲得這個(gè)屬性上所有的注釋getModifiers()
: 獲取屬性的修飾isEnumConstant()
: 判斷這個(gè)屬性是否是枚舉類isSynthetic()
: 判斷這個(gè)屬性是否是 復(fù)合類get(Object obj)
: 取得obj對象這個(gè)Field上的值set(Object obj, Object value)
: 向obj對象的這個(gè)Field設(shè)置新值value
Field獲取實(shí)體類的屬性名和屬性值
實(shí)現(xiàn)步驟
- 獲取實(shí)體類 返回的是一個(gè)數(shù)組 數(shù)組的數(shù)據(jù)就是實(shí)體類中的字段
- 添加setAccessible()因?yàn)榈淖侄问怯胮rivate修飾的
- 輸出屬性名和屬性值
User user = new User(); //獲取實(shí)體類 返回的是一個(gè)數(shù)組 數(shù)組的數(shù)據(jù)就是實(shí)體類中的字段 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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Java的Struts框架下進(jìn)行web編程的入門教程
這篇文章主要介紹了在Java的Struts框架下進(jìn)行web編程的入門教程,需要的朋友可以參考下2015-11-11如何解決Could not transfer artifact org.spri
在Maven更新過程中遇到“Could not transfer artifact org.springframework.boot”錯(cuò)誤通常是由于網(wǎng)絡(luò)問題,解決方法是在Maven的設(shè)置中忽略HTTPS,添加特定語句后,可以正常下載依賴,但下載速度可能較慢,這是一種常見的解決方案,希望對遇到相同問題的人有所幫助2024-09-09Java實(shí)現(xiàn)短信驗(yàn)證碼的示例代碼
本文主要介紹了Java實(shí)現(xiàn)短信驗(yàn)證碼的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Maven中pom.xml文件報(bào)錯(cuò)的原因解決
創(chuàng)建Maven項(xiàng)目的時(shí)候,如果你選擇的Packaging為war,那么就會(huì)報(bào)錯(cuò),本文主要介紹了Maven中pom.xml文件報(bào)錯(cuò)的原因解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07