欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java利用反射自動(dòng)封裝成實(shí)體對象的方法

 更新時(shí)間:2015年01月16日 11:07:41   投稿:shichen2014  
這篇文章主要介紹了Java利用反射自動(dòng)封裝成實(shí)體對象的方法,可實(shí)現(xiàn)自動(dòng)封裝成bean對象功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Java利用反射自動(dòng)封裝成實(shí)體對象的方法。分享給大家供大家參考。具體分析如下:

利用此方法的時(shí)候需要傳遞的參數(shù)的名稱,必須以行號結(jié)尾,去掉行號就是屬性名稱,比如頁面?zhèn)鬟fname+rowNo,那么實(shí)體對象的屬性名應(yīng)該為name。代碼如下

復(fù)制代碼 代碼如下:
//獲取頁面數(shù)據(jù),自動(dòng)封裝成bean對象
public List getObjectList(Class clazz,String[] rowNos) throws Exception{
        List objList = new ArrayList();
        for(int i=0;rowNos!=null && i<rowNos.length;i++){
            //創(chuàng)建對象實(shí)例
            Object object = clazz.newInstance();
            //獲取類聲明的屬性
            Field[] fields = clazz.getDeclaredFields();
            
            StringBuffer buffer = null;
            //遍歷屬性,執(zhí)行封裝
            for(int j=0;j<fields.length;j++){
                //獲取屬性的名字
                String fieldName = fields[j].getName();
                //得到參數(shù)的名字
                String paraName = fields[j].getName()+rowNos[i];
                
                //如果獲取參數(shù)值為空則繼續(xù)循環(huán)
                String value = getValueNull(paraName);
                if(value==null){
                    continue;
                }
                
                //參數(shù)值
                Object[] paramValue =new Object[1];
                if(fields[j].getType().toString().equals("class java.lang.String")){
                    paramValue[0]=value;
                }
                if(fields[j].getType().toString().equals("class java.lang.Integer")){
                    paramValue[0]=new Integer(value);
                }
                if(fields[j].getType().toString().equals("class java.lang.Double")){
                    paramValue[0]=new Double(value);
                }
                if(fields[j].getType().toString().equals("class java.util.Date")){
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                    paramValue[0]=sdf.parse(value);
                }
                
                //參數(shù)類型
                Class[] paramType= {fields[j].getType()};
                
                //得到set方法的名字
                buffer = new StringBuffer("set");
                buffer.append(fieldName.substring(0, 1).toUpperCase());
                buffer.append(fieldName.substring(1));
                //獲取放回
                Method method = clazz.getDeclaredMethod(buffer.toString(), paramType);
                //執(zhí)行方法
                method.invoke(object,paramValue);
            }
            //將當(dāng)前對象放到list中
            objList.add(object);
        }
        return objList;
}

希望本文所述對大家的Java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Java實(shí)現(xiàn)簡單密碼加密功能

    Java實(shí)現(xiàn)簡單密碼加密功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡單密碼加密功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 詳解Spring中BeanUtils工具類的使用

    詳解Spring中BeanUtils工具類的使用

    這篇文章主要通過一些示例為大家詳細(xì)介紹了Spring中BeanUtils工具類的使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-06-06
  • Java使用POI解析帶圖片的excel文件(簡潔好用!)

    Java使用POI解析帶圖片的excel文件(簡潔好用!)

    這篇文章主要給大家介紹了關(guān)于Java如何使用POI解析帶圖片的excel文件的相關(guān)資料,最近項(xiàng)目需要讀取excel中的信息,帶圖片,所以這里給大家總結(jié)下,需要的朋友可以參考下
    2023-08-08
  • 如何使用JJWT及JWT講解和工具類

    如何使用JJWT及JWT講解和工具類

    關(guān)于JWT的文章網(wǎng)上已經(jīng)多如牛毛了,但是相信很多同學(xué)學(xué)的還是云里霧里,所以在我學(xué)習(xí)JWT之后盡量用最簡潔的描述寫下這篇文章用于日后復(fù)習(xí),與此同時(shí)也希望可以幫助同學(xué)們共同進(jìn)步
    2021-09-09
  • 超詳細(xì)解析Spring Bean的創(chuàng)建過程

    超詳細(xì)解析Spring Bean的創(chuàng)建過程

    這篇文章主要揭秘了Spring Bean的創(chuàng)建過程,文中通過代碼示例和圖文結(jié)合的方式解析的超級詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-05-05
  • Java AQS的實(shí)現(xiàn)原理詳解

    Java AQS的實(shí)現(xiàn)原理詳解

    這篇文章主要借助了ReentrantLock來帶大家搞清楚AQS的實(shí)現(xiàn)原理,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-04-04
  • 23種設(shè)計(jì)模式(11)java策略模式

    23種設(shè)計(jì)模式(11)java策略模式

    這篇文章主要為大家詳細(xì)介紹了23種設(shè)計(jì)模式之java策略模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Spring?Boot?Aop執(zhí)行順序深入探究

    Spring?Boot?Aop執(zhí)行順序深入探究

    這篇文章主要為大家介紹了Spring?Boot?Aop執(zhí)行順序深入探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 為SpringBoot服務(wù)添加HTTPS證書的方法

    為SpringBoot服務(wù)添加HTTPS證書的方法

    這篇文章主要介紹了為SpringBoot服務(wù)添加HTTPS證書的方法,幫助大家更好的理解和使用springBoot框架,感興趣的朋友可以了解下
    2020-10-10
  • 使用JavaIO流和網(wǎng)絡(luò)制作一個(gè)簡單的圖片爬蟲

    使用JavaIO流和網(wǎng)絡(luò)制作一個(gè)簡單的圖片爬蟲

    這篇文章主要介紹了使用JavaIO流和網(wǎng)絡(luò)制作一個(gè)簡單的圖片爬蟲,通過關(guān)鍵字爬取百度圖片,這個(gè)和我們使用搜索引擎搜索百度圖片是一樣的,只是通過爬蟲可以學(xué)習(xí)技術(shù)的使用,需要的朋友可以參考下
    2023-04-04

最新評論