亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

java反射獲取一個object屬性值代碼解析

2024-07-13 10:15:00
字體:
來源:轉載
供稿:網友

有些時候你明明知道這個javascript/31513.html">object里面是什么,但是因為種種原因,你不能將它轉化成一個對象,只是想單純地提取出這個object里的一些東西,這個時候就需要用反射了。

假如你這個類是這樣的:

private class User {	String userName;	String userPassword;	public String getUserName() {		return userName;	}	public void setUserName(String userName) {		this.userName = userName;	}	public String getUserPassword() {		return userPassword;	}	public void setUserPassword(String userPassword) {		this.userPassword = userPassword;	}}

我們new一個,賦值,向上轉型為object

User user = new User();user.setUserName("徐風來");user.setUserPassword("1596666");Object object = user;

獲取屬性名,用一個數組保存起來

java.lang.reflect.Field[] fields = object.getClass().getDeclaredFields();for (java.lang.reflect.Field f : fields) {  Log.i("xbh", f.getName());}

輸出

12-17 12:02:10.199 22949-22949/com.example.wechat I/xbh: this$0
12-17 12:02:10.199 22949-22949/com.example.wechat I/xbh: userName
12-17 12:02:10.199 22949-22949/com.example.wechat I/xbh: userPassword
12-17 12:02:10.199 22949-22949/com.example.wechat I/xbh: $change
12-17 12:02:10.199 22949-22949/com.example.wechat I/xbh: serialVersionUID

可以看到出現了我們定義的兩個屬性名了,另外3個自帶的別管了

獲取屬性值,先獲取get方法,再通過調用get方法去取

java.lang.reflect.Method[] method = object.getClass().getDeclaredMethods();//獲取所有方法for(java.lang.reflect.Method m:method) {  System.<em>out</em>.println(m.getName());  if (m.getName().startsWith("get")) {    Object o = null;    try {      o = m.invoke(object);    } catch (IllegalAccessException | InvocationTargetException e) {      e.printStackTrace();    }    if (o != null && !"".equals(o.toString())) {      Log.i("xbh", o.toString());    }  }

輸出
12-17 12:09:33.429 29677-29677/com.example.wechat I/xbh: 徐風來
12-17 12:09:33.429 29677-29677/com.example.wechat I/xbh: 1596666

那個if語句就是獲取get開頭的方法

try里面的invoke就是執行這個方法,把返回值放到o里

不通過get方法來獲取屬性值

java.lang.reflect.Field fi = null;//獲取屬性try {	fi = object.getClass().getDeclaredField("userName");}catch (NoSuchFieldException e) {	e.printStackTrace();}fi.setAccessible(true);//設置當前對象對model私有屬性的訪問權限try {	Log.i("xbh", fi.get(object).toString());}catch (IllegalAccessException e) {	e.printStackTrace();}

輸出
12-17 12:17:34.419 4732-4732/com.example.wechat I/xbh: 徐風來

直接通過getDeclaredField方法就可以獲?。ㄗ⒁夂蜕厦娴膅etDeclaredFields方法區分)。但是如果你這個屬性是私有的,你肯定就訪問不到,所以這里把這個屬性設置為public(setAccessible)就可以訪問了。

此外如果你獲取的是json數據,想解析里面的1個對象不必了,直接轉型成map就可以了。

比如

{"code":0,"list":[{"userName":"3294727437","userPassword":"xbh1","userAvatar":"https://img1.imgtn.bdimg.com/it/u/u003d37460727/u0026gp/u003d0.jpg"}]}

你通過jsonarray(“list”)獲取了后面的集合,再通過get(i)獲取了單個的對象。其實一開始的對象是被轉成map了,仔細看看是不是。所以不需要反射獲取屬性了,直接轉型成map就可以取數據了。

Map<string, string=""> map = (Map<string, string="">) u;map.get("userAvatar");</string,></string,>

總結

以上就是本文關于java反射獲取一個object屬性值代碼解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97超碰色婷婷| 97视频免费观看| 国产精品三级久久久久久电影| 国产精品爽爽ⅴa在线观看| 精品国内产的精品视频在线观看| 国产精品欧美激情| 国产色婷婷国产综合在线理论片a| 亚洲欧洲偷拍精品| 精品在线小视频| 久久不射热爱视频精品| 精品动漫一区二区| 另类美女黄大片| 97精品久久久中文字幕免费| 国产在线视频一区| 91高潮精品免费porn| xxav国产精品美女主播| 久久久久久久久久久免费| 97视频在线观看播放| 一本一本久久a久久精品牛牛影视| 97久久精品人人澡人人爽缅北| 亚洲性av在线| 精品国产91乱高清在线观看| 亚洲精品中文字幕有码专区| 国产成人精品在线| 亚洲国产精品久久久| 国产午夜精品视频免费不卡69堂| 久久久久久97| 麻豆国产va免费精品高清在线| 成人性教育视频在线观看| 日韩欧美主播在线| 午夜精品久久17c| 亚洲女同性videos| 国产日韩欧美在线看| 97久久超碰福利国产精品…| 日韩中文字幕视频| 久久免费视频网| 8090理伦午夜在线电影| 亚洲美女在线观看| 亚洲乱亚洲乱妇无码| 欧美性猛交xxxx| 久久久人成影片一区二区三区| 中文日韩在线观看| 国产主播欧美精品| 国产精品狠色婷| 这里只有精品视频| 国产一区二区三区中文| 国产一区私人高清影院| 亚洲精品福利在线观看| 国产精品91视频| 国产精品96久久久久久| 日韩精品极品视频免费观看| 成人有码在线播放| 久久香蕉国产线看观看av| 久久成人av网站| 91亚洲永久免费精品| 久久亚洲国产精品| 57pao成人国产永久免费| 久久夜精品香蕉| 精品久久久久久久久久ntr影视| 成人a在线观看| 日韩av一区在线观看| 欧洲永久精品大片ww免费漫画| 日韩精品中文字幕在线观看| 国产精品极品美女粉嫩高清在线| 国产一区二区三区日韩欧美| 精品中文字幕久久久久久| 国产精品视频一区二区三区四| 欧美成人在线免费视频| 国产视频精品一区二区三区| 日韩成人中文字幕| 日韩高清电影免费观看完整| 国产精品国内视频| 亚洲精品中文字幕av| 日韩一区二区av| 国产精品一区二区久久精品| 成人女保姆的销魂服务| 亚洲风情亚aⅴ在线发布| 久久国产精品电影| 久久香蕉精品香蕉| 狠狠色噜噜狠狠狠狠97| 久久久久国产精品www| 国产精品久久久久久久app| 91九色蝌蚪国产| 国产精品久久久久久av下载红粉| 日韩精品极品在线观看播放免费视频| 91在线中文字幕| 九九久久国产精品| 欧美性69xxxx肥| 国产成人精品网站| 国产精品久久久久久亚洲调教| 欧美激情性做爰免费视频| 国产精品久久在线观看| 国产精品高清在线观看| 亚洲国产小视频在线观看| 欧美精品情趣视频| 日韩电影在线观看中文字幕| 福利二区91精品bt7086| 日韩中文在线中文网三级| 欧美一级高清免费| 亚洲一区制服诱惑| 国内精品久久久久伊人av| 在线视频欧美性高潮| 97色在线播放视频| 日韩有码在线视频| 国产欧美va欧美va香蕉在| 国产suv精品一区二区三区88区| 97超级碰碰人国产在线观看| 成人久久18免费网站图片| 91沈先生在线观看| 国产精品揄拍一区二区| 国产精品pans私拍| 欧美电影《睫毛膏》| 91色精品视频在线| 欧美日韩亚洲一区二区三区| 亚洲免费一级电影| 久久香蕉国产线看观看av| 欧美巨乳美女视频| 久久69精品久久久久久国产越南| 日韩av观看网址| 国产精品视频网址| 亚洲精品国产精品自产a区红杏吧| 亚洲二区在线播放视频| 亚洲天堂免费观看| 青青草原成人在线视频| 亚洲xxx大片| 久久亚洲春色中文字幕| 久久久久久网站| 另类色图亚洲色图| 久久久在线免费观看| 国产精品久久一区主播| 国产一区二区视频在线观看| 国外色69视频在线观看| 最近2019中文字幕一页二页| 欧美日韩成人网| 精品一区二区三区三区| 日本国产欧美一区二区三区| 亚洲欧美日韩天堂一区二区| 成人午夜高潮视频| 欧美日韩国产色| 51久久精品夜色国产麻豆| 国产精品视频白浆免费视频| 日韩a**站在线观看| 成人观看高清在线观看免费| 欧美野外wwwxxx| 欧美黑人性猛交| 久久久久在线观看| 亚洲国产精品悠悠久久琪琪| 亚洲亚裔videos黑人hd| 岛国av一区二区在线在线观看| 精品久久久91| 久久久精品一区二区| 欧美精品videofree1080p| 欧美极品少妇xxxxⅹ免费视频| 色播久久人人爽人人爽人人片视av| 一本色道久久综合狠狠躁篇的优点| 久久精品国产69国产精品亚洲| 亚洲一区二区免费在线| 欧美激情亚洲精品| 91久久在线播放| 久久亚洲综合国产精品99麻豆精品福利| 欧美高清视频在线观看| 久久精品久久久久久| 久久久久久久91| 国产精品久久久久久av福利软件|