package com.syas.common.utilities; import com.syas.web.models.FrmgerPfmceSearchModel; import java.lang.reflect.Constructor; import java.lang.reflect.Field; /** * Created by weigong on 2015/12/3. */ public class ArrayToObject { public static Object getObjectByArray(Object [] os,Class clazz){ Field [] fields = clazz.getDeclaredFields(); /* Method methlist[] = clazz.getDeclaredMethods(); for (int i = 0; i < methlist.length; i++) { Method m = methlist[i]; System.out.println("=====获取所有的方法名称:" + m.getName()); } String[] types1={"int","java.lang.String","boolean","char","float","double","long","short","byte"}; String[] types2={"Integer","java.lang.String","java.lang.Boolean","java.lang.Character","java.lang.Float","java.lang.Double","java.lang.Long","java.lang.Short","java.lang.Byte"}; for (int j = 0; j < fields.length; j++) { fields[j].setAccessible(true); // 字段名 System.out.print(fields[j].getName() + ":"); // 字段值 for(int i=0;i<types1.length;i++){ if(fields[j].getType().getName() .equalsIgnoreCase(types1[i])|| fields[j].getType().getName().equalsIgnoreCase(types2[i])){ try { System.out.print(fields[j].get(clazz)+" "); } catch (Exception e) { e.printStackTrace(); } } } } */ Class[] argtype = new Class[fields.length];//代表构造方法的参数类型数组 //遍历数组的字段 for (int j = 0; j < fields.length; j++) { fields[j].setAccessible(true); // 字段名 // System.out.print(fields[j].getName() + ":"); argtype[j] = Object.class; } Constructor con; Object obj = null; try { con = clazz.getDeclaredConstructor(argtype); obj = con.newInstance(os); } catch (Exception e) { e.printStackTrace(); } return obj; } public static void main(String []args){ FrmgerPfmceSearchModel frmgerPfmceSearchModel = (FrmgerPfmceSearchModel)getObjectByArray(new Object[]{"A","B","C",1, 2}, FrmgerPfmceSearchModel.class); System.out.println("=======obj:"+frmgerPfmceSearchModel.getEzboUname()); } }
数组转对象
最新推荐文章于 2023-10-20 15:37:01 发布