最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

復(fù)制代碼 代碼如下:
//獲取頁(yè)面數(shù)據(jù),自動(dòng)封裝成bean對(duì)象
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)建對(duì)象實(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)前對(duì)象放到list中
            objList.add(object);
        }
        return objList;
}

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

相關(guān)文章

  • Java操作excel的三種常見方法實(shí)例

    Java操作excel的三種常見方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Java操作excel的三種常見方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • SpringBoot中使用AOP實(shí)現(xiàn)日志記錄功能

    SpringBoot中使用AOP實(shí)現(xiàn)日志記錄功能

    AOP的全稱是Aspect-Oriented Programming,即面向切面編程(也稱面向方面編程),它是面向?qū)ο缶幊蹋∣OP)的一種補(bǔ)充,目前已成為一種比較成熟的編程方式,本文給大家介紹了SpringBoot中使用AOP實(shí)現(xiàn)日志記錄功能,需要的朋友可以參考下
    2024-05-05
  • 詳解Java多線程與并發(fā)

    詳解Java多線程與并發(fā)

    多線程是一個(gè)進(jìn)程在執(zhí)行過程中產(chǎn)生多個(gè)更小的程序單元,這些更小的單元稱為線程,這些線程可以同時(shí)存在,同時(shí)運(yùn)行,一個(gè)進(jìn)程可能包含多個(gè)同時(shí)執(zhí)行的線程。多線程是實(shí)現(xiàn)并發(fā)機(jī)制的一種有效手段。進(jìn)程和線程一樣,都是實(shí)現(xiàn)并發(fā)的一個(gè)基本單位。
    2021-06-06
  • java把字符串寫入文件里的簡(jiǎn)單方法分享

    java把字符串寫入文件里的簡(jiǎn)單方法分享

    這篇文章主要介紹了java把字符串寫入到文件里的簡(jiǎn)單方法,這是跟一個(gè)外國(guó)朋友學(xué)的代碼,需要的朋友可以參考下
    2014-03-03
  • SpringBoot深入理解之內(nèi)置web容器及配置的總結(jié)

    SpringBoot深入理解之內(nèi)置web容器及配置的總結(jié)

    今天小編就為大家分享一篇關(guān)于SpringBoot深入理解之內(nèi)置web容器及配置的總結(jié),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • 淺談Java多進(jìn)程程序的運(yùn)行模式

    淺談Java多進(jìn)程程序的運(yùn)行模式

    這篇文章主要介紹了淺談Java多進(jìn)程程序的運(yùn)行模式,包括對(duì)進(jìn)程阻塞問題的討論等,需要的朋友可以參考下
    2015-11-11
  • SpringBoot2零基礎(chǔ)到精通之?dāng)?shù)據(jù)庫(kù)專項(xiàng)精講

    SpringBoot2零基礎(chǔ)到精通之?dāng)?shù)據(jù)庫(kù)專項(xiàng)精講

    SpringBoot是一種整合Spring技術(shù)棧的方式(或者說(shuō)是框架),同時(shí)也是簡(jiǎn)化Spring的一種快速開發(fā)的腳手架,本篇我們來(lái)學(xué)習(xí)如何連接數(shù)據(jù)庫(kù)進(jìn)行操作
    2022-03-03
  • Java中struts2和spring MVC的區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java中struts2和spring MVC的區(qū)別_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java中struts2和spring MVC的區(qū)別,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-09-09
  • Jmeter線程組傳參原理解析

    Jmeter線程組傳參原理解析

    這篇文章主要介紹了jmeter線程組傳參原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 詳解如何在Spring MVC中處理AJAX請(qǐng)求

    詳解如何在Spring MVC中處理AJAX請(qǐng)求

    在現(xiàn)代 web 開發(fā)中,AJAX(Asynchronous JavaScript and XML)被廣泛用于創(chuàng)建響應(yīng)式和動(dòng)態(tài)的用戶界面,與傳統(tǒng)的頁(yè)面刷新不同,AJAX 允許網(wǎng)頁(yè)在不重新加載的情況下與服務(wù)器交換數(shù)據(jù),從而提升了用戶體驗(yàn),本篇博客將深入探討如何在 Spring MVC 中處理 AJAX 請(qǐng)求
    2024-11-11

最新評(píng)論

洪江市| 海伦市| 霍林郭勒市| 宁国市| 阿鲁科尔沁旗| 三门县| 东城区| 崇州市| 宝山区| 屏山县| 右玉县| 广西| 娱乐| 将乐县| 吴川市| 衡南县| 高陵县| 张家口市| 西盟| 肥西县| 儋州市| 衡东县| 临沧市| 长岛县| 抚顺市| 云林县| 精河县| 苏尼特右旗| 泽州县| 介休市| 蕉岭县| 牡丹江市| 洛川县| 霍邱县| 福鼎市| 筠连县| 饶阳县| 镇赉县| 绥江县| 固始县| 鄂州市|