Menu

深入分析实体类,万能对象拷贝工具

        }  

package com.fastech.monitor_ui.util;

 

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ParseClassModel {
    //static Logger logger = LoggerFactory.getLogger(this.getClass());
    public static <T> T parse(Class<T>
classname,Map<String,Object> alarmMap){
        List<String> keyList = new ArrayList<String>();
        Set<String> keySet = alarmMap.keySet();
        T obj = null;
        try {
            obj=classname.newInstance();
        } catch (InstantiationException | IllegalAccessException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }//实例化对象
        keyList = new ArrayList<>(keySet);
        for(int i = 0;i<keyList.size();i++){
            String key = keyList.get(i);
            String value = (String) alarmMap.get(key);
            try{
               Field field= classname.getDeclaredField(key);//获取字段
               String type = field.getGenericType().toString();
               if (type.equals(“class java.lang.String”)){
                   field.setAccessible(true);
                   if(value!=null){
                       value = value.replaceAll(“\r|\n”, “”);
                   }
                   field.set(obj, value);//为字段赋值
               }else if(type.equals(“int”)){
                   if(value == null||value.trim().length()==0){
                       value = “0”;
                   }
                   field.setAccessible(true);
                   field.set(obj,
Integer.valueOf(value.trim()));//为字段赋值
               }else if(type.equals(“long”)){
                   if(value == null||value.trim().length()==0){
                       value = “0”;
                   }
                   field.setAccessible(true);
                   field.set(obj,
Long.valueOf(value.trim()));//为字段赋值
               }else if(“double”.equals(type)){
                   if(value == null||value.trim().length()==0){
                       value = “0”;
                   }
                   field.setAccessible(true);
                   field.set(obj,
Double.parseDouble(value.trim()));//为字段赋值
               }else if(type.equals(“class java.util.Date”)){
                   Date date = new Date();
                   if(value==null||value.trim().length()==0){
                           date = null;
                       }else{
                           value = value.replaceAll(“\n”,””);
                           SimpleDateFormat sdf = new
SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
                       
                       try {
                            date = sdf.parse(value.trim());
                        } catch (ParseException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                       }
                   field.setAccessible(true);
                   field.set(obj, date);//为字段赋值
               }
            }catch(Exception e){
                e.printStackTrace();
              // logger.error(“key —“+key+”    value —“+value);
            }
        }
        
        return  obj;
    }

           
desField.set(des,srcfield.get(src));

import java.lang.reflect.Field;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;

       
Field desField = desFields.get(srcfield.getName());

}

public class BeanUtil {

     * 拷贝相同属性  

*/

import java.text.SimpleDateFormat;  

        }

import java.text.SimpleDateFormat;

    }

           
desField.set(des,date);

[html]  

* 把Date格式成yyyy-MM-dd HH:mm:ss格式的字符串

     * 把Date格式成yyyy-MM-dd HH:mm:ss格式的字符串  

        }

import java.lang.reflect.Field;

                        }else  

     */  

           
Integer ints
=java.lang.Integer.valueOf(String.valueOf(srcfield.get(src)));

* 拷贝相同属性

           
if(desField.getType() == java.util.Date.class ||
desField.getType() == java.sql.Date.class  || desField.getType() ==
java.sql.Timestamp.class )

import java.util.ArrayList;  

HashMap<String,Field> desFields = new
HashMap<String,Field>();

            return “”;  

           
desField.set(des, formatDate(dates));

/**

           
desField.set(des,String.valueOf(srcfield.get(src)));

            try {  

        if (date == null)  

                {  

 

        }  

        return df.parse(date);  

                    }else  

        SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd
HH:mm:ss”);  

for(Field field : des.getClass().getDeclaredFields()){

                            if(desField.getType() ==
java.util.Date.class || desField.getType() == java.sql.Date.class  ||
desField.getType() == java.sql.Timestamp.class )  

            srcFields.add(field);  

           
{

           
}else{

         
     if(srcfield.getName().equals(“serialVersionUID”)){

                            }else{  

                    desField.setAccessible(true);  

        {

                                desField.set(des,longs);  

                                desField.set(des,date);  

import java.util.HashMap;

* 把Date格式成yyyy-MM-dd HH:mm:ss格式的字符串

           
{

     */  

                if(desFields.containsKey(srcfield.getName()))  

        for(Field srcfield :srcFields){

                }  

                                Integer ints
=java.lang.Integer.valueOf(String.valueOf(srcfield.get(src)));  

                            }  

                        desField.set(des,srcfield.get(src));  

import java.util.Date;

     * 从src 复制到 des  

}

if (date == null)

public static void copyPropertys(Object src, Object des){

                e.printStackTrace();  

           
}else

        for(Field field : des.getClass().getDeclaredFields()){  

     * 把Date格式成yyyy-MM-dd HH:mm:ss格式的字符串  

        for(Field srcfield :srcFields){  

}

           
}

                                java.util.Date date =
ToDate(String.valueOf(srcfield.get(src)));  

           
desField.set(des,longs);

srcFields.add(field);

            } catch (Exception e) {  

] import java.lang.reflect.Field; import
java.text.ParseException; import java.text.SimpleDateFormat; import
java.util.ArrayList; import java.util.Date; import
java.util.HashMa…

/**

public class BeanUtil {  

return “”;

                    {  

            }  

                            {  

return df.format(date);www.2cto.com

     */  

import java.util.Date;  

           
}else if(desField.getType() == java.lang.Long.class )

         
     srcfield.setAccessible(true);

         
     }

import java.util.HashMap;  

                    if(srcfield.getType()!=desField.getType())  

                            java.util.Date dates = (Date)
srcfield.get(src);  

           
{

            desFields.put(field.getName(),field);  

        }
catch (Exception e) {

           
}else

    }  

public static Date ToDate(String date) throws ParseException {

                            desField.set(des, formatDate(dates));  

return df.parse(date);

import java.text.ParseException;

ArrayList<Field> srcFields = new ArrayList<Field>();

e.printStackTrace();

           
{

           
java.util.Date date = ToDate(String.valueOf(srcfield.get(src)));

    public static void copyPropertys(Object src, Object des){  

           
}

       
if(desFields.containsKey(srcfield.getName()))

                        }  

        HashMap<String,Field> desFields = new
HashMap<String,Field>();  

*/

}

                        {  

}

         
         continue;

                            {  

* 从src 复制到 des

*/

         
     desField.setAccessible(true);

        for(Field field : src.getClass().getDeclaredFields()){  

                    if(srcfield.getName().equals(“serialVersionUID”)){  

    }  

  

        }  

SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

           
java.util.Date dates = (Date) srcfield.get(src);

           
{

                    Field desField = desFields.get(srcfield.getName());
 

美高梅开户,    /**  

           
}

    /**  

}

import java.lang.reflect.Field;  

                    srcfield.setAccessible(false);  

                            {  

                               
desField.set(des,String.valueOf(srcfield.get(src)));  

           
if(srcfield.getType()!=desField.getType())

    /**  

import java.util.ArrayList;

           
java.lang.Long longs =
java.lang.Long.getLong(String.valueOf(srcfield.get(src)));

                    {  

    public static String formatDate(Date date) {  

           
desField.set(des,ints);

import java.text.ParseException;  

desFields.put(field.getName(),field);

    public static Date ToDate(String date) throws ParseException {  

for(Field field : src.getClass().getDeclaredFields()){

                    srcfield.setAccessible(true);  

                                java.lang.Long longs =
java.lang.Long.getLong(String.valueOf(srcfield.get(src)));  

           
}else if(desField.getType() == java.lang.Integer.class ||
desField.getType() == int.class )

                        continue;  

           
{

                        {  

/**

                    desField.setAccessible(false);  

SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

        return df.format(date);  

}

           
{

                            }else if(desField.getType() ==
java.lang.Integer.class || desField.getType() == int.class )  

           
desField.setAccessible(false);

                        if((srcfield.getType() == java.util.Date.class
|| srcfield.getType() == java.sql.Date.class || srcfield.getType() ==   

           
srcfield.setAccessible(false);

        try
{

                    }  

                    }  

           
java.sql.Timestamp.class) && desField.getType() ==
java.lang.String.class)

                            }else if(desField.getType() ==
java.lang.Long.class )  

}  

 

    }  

                                desField.set(des,ints);  

public static String formatDate(Date date) {

           
if((srcfield.getType() == java.util.Date.class ||
srcfield.getType() == java.sql.Date.class || srcfield.getType() == 

        ArrayList<Field> srcFields = new ArrayList<Field>();
 

                            java.sql.Timestamp.class) &&
desField.getType() == java.lang.String.class)  

        SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd
HH:mm:ss”);  

标签:,

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图