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

服務(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ì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: blackedhd 18sex| 日本免费不卡在线一区二区三区 | 国产亚洲福利精品一区 | 91正在 播放 | 欧美草逼网站 | 女明星放荡高h日常生活 | 青青草原在线免费 | 99视频免费 | 果冻传媒mv在线观看入口免费 | 91在线 在线播放 | 操弄哥哥的108种姿势 | 国产伦精一区二区三区视频 | 日本免费一区二区三区四区五六区 | xx18美女美国 | 亚洲第一男人天堂 | 成人免费网站视频ww | 亚洲精品在看在线观看 | 日本亚洲娇小与黑人tube | 成人黄色a级片 | 女同69式互添在线观看免费 | 日本在线亚州精品视频在线 | 骚虎最新网址 | 亚洲人成网站在线观看90影院 | 精品一久久香蕉国产线看观 | 亚洲国产日韩欧美mv | 关晓彤被调教出奶水 | 亚洲a区视频 | 色99在线| 无人区免费一二三四乱码 | 调教肉文 | 999国产高清在线精品 | 亚洲人成网站在线观看青青 | 超级乱淫伦小说1女多男 | 性绞姿始动作动态图 | 扒开老师两片湿漉的肉 | 高清不卡免费一区二区三区 | narutotsunade全彩雏田 | 日b视频免费看 | 国产成人欧美 | 99久久精品免费看国产 | 免费观看无遮挡www的小视频 |