久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

java反射機制根據(jù)屬性名獲取屬性值的操作

瀏覽:46日期:2022-08-23 13:36:59

一、考慮安全訪問范圍內(nèi)的屬性,沒有權(quán)限訪問到的屬性不讀取

/** * 根據(jù)屬性名獲取屬性值 * * @param fieldName * @param object * @return */ private String getFieldValueByFieldName(String fieldName, Object object) { try { Field field = object.getClass().getField(fieldName); //設(shè)置對象的訪問權(quán)限,保證對private的屬性的訪問 return (String)field.get(object); } catch (Exception e) { return null; } }

二、不考慮從祖先類繼承的屬性,只獲取當(dāng)前類屬性,包括四類訪問權(quán)限,private,protect,default,public

/** * 根據(jù)屬性名獲取屬性值 * * @param fieldName * @param object * @return */ private String getFieldValueByFieldName(String fieldName, Object object) { try { Field field = object.getClass().getDeclaredField(fieldName); //設(shè)置對象的訪問權(quán)限,保證對private的屬性的訪問 field.setAccessible(true); return (String)field.get(object); } catch (Exception e) { return null; } }

三、考慮父類繼承過來的屬性,包括四類訪問權(quán)限,private,protect,default,public

/** * 根據(jù)屬性名獲取屬性元素,包括各種安全范圍和所有父類 * * @param fieldName * @param object * @return */ private Field getFieldByClasss(String fieldName, Object object) { Field field = null; Class<?> clazz = object.getClass(); for (; clazz != Object.class; clazz = clazz.getSuperclass()) { try { field = clazz.getDeclaredField(fieldName); } catch (Exception e) { // 這里甚么都不能拋出去。 // 如果這里的異常打印或者往外拋,則就不會進入 } } return field; }

補充知識:java 通過反射拿到類(對象)所有屬性的名字

在某些場合,我們可能只需要拿到一個對象的屬性名即可,不需要拿到方法。

比如說,在不借助于Hibernate或是Mybatis框架的時候,我們希望能夠?qū)懸粋€父類完成所有表的增刪改成,并且通過使用Object類的方式來使所有的子類都能使用父類方法。

下來的代碼是一個使用反射的方法來拿到對象的所有屬性。

public static void getFieldName(Object t){ Class clazz = t.getClass(); // 獲取實體類的所有屬性信息,返回Field數(shù)組 Field[] fields = clazz.getDeclaredFields(); int length= fields.length; while(length-->0) { System.out.println(fields[length].getName()); } }

當(dāng)然,通過反射的方式我們還可以做很多很多很多事情,但是這里不重復(fù)舉例子了。

但是很值得說的就是,這些方法在java web編程的時候可能用得到,尤其是不借助于別人的框架,要自己寫框架的時候。

對bean的操作還可以使用BeanUtils,這個是Apache軟件基金會提供的,用于操作JavaBean的API。

以上這篇java反射機制根據(jù)屬性名獲取屬性值的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Java
相關(guān)文章:
主站蜘蛛池模板: 亚洲国产精品va在线看黑人 | 久久小草| 精品久久久久久久久久久久久 | 免费在线看a | 国产精品视频入口 | 国产高清在线精品一区二区三区 | 精品在线视频一区 | 免费观看一级特黄欧美大片 | 欧美视频区 | 日韩性xxx| 成人小视频在线播放 | 91精品国产色综合久久 | 国产亚洲一区二区三区在线 | 99久精品| 久久久久亚洲 | 国产欧美日韩综合精品 | 欧美日韩激情四射 | 国产黄色大全 | 成人午夜在线 | 国产精品久久久久久久 | 午夜日韩 | 在线不卡视频 | 国产成人av综合 | 九九九色 | 亚洲黄色av网站 | 免费视频一区二区三区在线观看 | 欧美日韩一区在线观看 | 青青草超碰在线 | 在线毛片观看 | 国产乱码精品一区二区三区五月婷 | 精品免费视频 | 久久ri资源网 | 日韩成人高清电影 | 亚洲精品在 | 日韩中文字幕在线播放 | 久久国产精品久久精品 | 成人久久久 | 久久久久久一区 | 中字一区 | 国产精品45p | 国产欧美在线 |