数组转对象

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());

    }


}

你可能感兴趣的:(java数组转对象)