国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

利用反射自動封裝成實體對象

2019-11-14 22:36:47
字體:
來源:轉載
供稿:網友
利用反射自動封裝成實體對象

利用此方法的時候需要傳遞的參數的名稱,必須以行號結尾,去掉行號就是屬性名稱,比如頁面傳遞name+rowNo,那么實體對象的屬性名應該為name。代碼如下

//獲取頁面數據,自動封裝成bean對象public List getObjectList(Class clazz,String[] rowNos) throws Exception{List objList = new ArrayList();for(int i=0;rowNos!=null && i<rowNos.length;i++){//創建對象實例Object object = clazz.newInstance();//獲取類聲明的屬性Field[] fields = clazz.getDeclaredFields();StringBuffer buffer = null;//遍歷屬性,執行封裝for(int j=0;j<fields.length;j++){//獲取屬性的名字String fieldName = fields[j].getName();//得到參數的名字String paraName = fields[j].getName()+rowNos[i];//如果獲取參數值為空則繼續循環String value = getValueNull(paraName);if(value==null){continue;}        //參數值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);}//參數類型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);         //執行方法        method.invoke(object,paramValue);}//將當前對象放到list中objList.add(object);}return objList;}


上一篇:Java內部類

下一篇:Java異步回調

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁远县| 桃源县| 左权县| 布拖县| 利川市| 富宁县| 诸暨市| 临澧县| 双城市| 元谋县| 绥棱县| 南木林县| 金平| 会泽县| 庆安县| 梨树县| 靖西县| 碌曲县| 南开区| 开封县| 许昌市| 盐城市| 鄂伦春自治旗| 桓仁| 三河市| 林周县| 兰坪| 怀来县| 东城区| 昭苏县| 达日县| 延津县| 萨迦县| 社旗县| 丹棱县| 日喀则市| 包头市| 华坪县| 句容市| 玉屏| 太康县|