一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - Java利用反射自動(dòng)封裝成實(shí)體對(duì)象的方法

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

2019-12-08 21:21shichen2014 JAVA教程

這篇文章主要介紹了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ì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 好逼365| 免费一区在线观看 | 甜蜜惩罚小说 | tobu8在线观看免费高清 | 国产成人精品s8sp视频 | 日本色资源 | 亚洲激情网站 | 国产原创一区二区 | 色中色官网 | 人人爽人人看 | 5x社区发源地最新地址 | 欧美日韩中文字幕久久伊人 | 狠狠色| 国产精品亚洲va在线观看 | 国产精品99久久免费观看 | 国产香蕉一区二区在线网站 | 亚洲区在线播放 | 日本特级a禁片在线播放 | 全肉np巨肉一女np高h双龙 | 亚洲热图 | 国产在线看片网站 | 97久久免费视频 | 亚洲成人影院在线 | 无码精品一区二区三区免费视频 | 国产成人综合网亚洲欧美在线 | 国产一二三区视频 | 蛮荒的童话未删减在线观看 | 91香蕉依人综合久久 | 免费观看成年人视频 | 好大好长好紧爽免费 | 国产高清久久 | 青青成人福利国产在线视频 | 日本a在线天堂 | 午夜久久久久久亚洲国产精品 | 狠狠色综合久久婷婷 | 无码爽死成人777在线观看网站 | 艹b视频在线观看 | 91大神在线观看精品一区 | 胸奶好大好紧好湿好爽 | 久久综合色超碰人人 | ts人妖系列在线专区 |