首页前端开发HTML万能对象拷贝工具 支持不同数据类型

万能对象拷贝工具 支持不同数据类型

时间2024-01-25 11:47:51发布访客分类HTML浏览182
导读:收集整理的这篇文章主要介绍了html5教程-万能对象拷贝工具 支持不同数据类型,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 [htML] i...
收集整理的这篇文章主要介绍了html5教程-万能对象拷贝工具 支持不同数据类型,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 [htML]  

import java.lang.reflect.Field;  

import java.text.ParseException;  

import java.text.SimpleDateFormat;  

import java.util.ArrayList;  

import java.util.Date;  

import java.util.HashMap;  

  

public class BeanUtil {  

    /**  

     * 拷贝相同属性  

     * 从src 复制到 des  

     */  

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

        ArrayListField> srCFields = new ArrayListField> ();  

        HashMapString,Field> desFields = new HashMapString,Field> ();  

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

            srcFields.add(field);  

        }  

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

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

        }  

        for(Field srcfield :srcFields){  

            try {  

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

                {  

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

                    if(srcfield.getName().equals("serialVersionUID")){  

                        continue;  

                    }  

                    desField.setAccessible(true);  

                    srcfield.setAccessible(true);  

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

                    {  

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

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

                        {  

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

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

                        } else  

                        {  

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

                            {  

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

                                desField.set(des,date);  

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

                            {  

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

                                desField.set(des,ints);  

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

                            {  

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

                                desField.set(des,longs);  

                            } else{  

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

                            }  

                        }  

                    } else  

                    {  

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

                    }  

                    desField.setAccessible(false);  

                    srcfield.setAccessible(false);  

                }  

            } catch (Exception e) {  

                e.PRintStackTrace();  

            }  

        }  

    }  

    /**  

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

     */  

    public static String formatDate(Date date) {  

        if (date == null)  

            return "";  

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

        return df.format(date);  

    }  

    /**  

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

     */  

    public static Date ToDate(String date) throws ParseException {  

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

        return df.parse(date);  

    }  

}  

 

import java.lang.reflect.Field;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

 

public class BeanUtil {

/**

* 拷贝相同属性

* 从src 复制到 des

*/

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

ArrayListField> srcFields = new ArrayListField> ();

HashMapString,Field> desFields = new HashMapString,Field> ();

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

srcFields.add(field);

}

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

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

}

        for(Field srcfield :srcFields){

        try {

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

        {

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

               if(srcfield.getName().equals("serialVersionUID")){

                   continue;

               }

               desField.setAccessible(true);

               srcfield.setAccessible(true);

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

            {

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

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

            {

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

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

            } else

            {

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

            {

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

            desField.set(des,date);

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

            {

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

            desField.set(des,ints);

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

            {

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

            desField.set(des,longs);

            } else{

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

            }

            }

            } else

            {

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

            }

            desField.setAccessible(false);

            srcfield.setAccessible(false);

        }

        } catch (Exception e) {

e.printStackTrace();

}

        }

    }

/**

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

*/

public static String formatDate(Date date) {

if (date == null)

return "";

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

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

}

/**

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

*/

public static Date ToDate(String date) throws ParseException {

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

return df.parse(date);

}

}

 

[html]  

import java.lang.reflect.Field;  

import java.text.ParseException;  

import java.text.SimpleDateFormat;  

import java.util.ArrayList;  

import java.util.Date;  

import java.util.HashMap;  

  

public class BeanUtil {  

    /**  

     * 拷贝相同属性  

     * 从src 复制到 des  

     */  

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

        ArrayListField> srcFields = new ArrayListField> ();  

        HashMapString,Field> desFields = new HashMapString,Field> ();  

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

            srcFields.add(field);  

        }  

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

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

        }  

        for(Field srcfield :srcFields){  

            try {  

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

                {  

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

                    if(srcfield.getName().equals("serialVersionUID")){  

                        continue;  

                    }  

                    desField.setAccessible(true);  

                    srcfield.setAccessible(true);  

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

                    {  

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

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

                        {  

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

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

                        } else  

                        {  

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

                            {  

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

                                desField.set(des,date);  

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

                            {  

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

                                desField.set(des,ints);  

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

                            {  

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

                                desField.set(des,longs);  

                            } else{  

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

                            }  

                        }  

                    } else  

                    {  

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

                    }  

                    desField.setAccessible(false);  

                    srcfield.setAccessible(false);  

                }  

            } catch (Exception e) {  

                e.printStackTrace();  

            }  

        }  

    }  

    /**  

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

     */  

    public static String formatDate(Date date) {  

        if (date == null)  

            return "";  

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

        return df.format(date);  

    }  

    /**  

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

     */  

    public static Date ToDate(String date) throws ParseException {  

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

        return df.parse(date);  

    }  

}  

 

import java.lang.reflect.Field;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

 

public class BeanUtil {

/**

* 拷贝相同属性

* 从src 复制到 des

*/

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

ArrayListField> srcFields = new ArrayListField> ();

HashMapString,Field> desFields = new HashMapString,Field> ();

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

srcFields.add(field);

}

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

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

}

        for(Field srcfield :srcFields){

        try {

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

        {

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

               if(srcfield.getName().equals("serialVersionUID")){

                   continue;

               }

               desField.setAccessible(true);

               srcfield.setAccessible(true);

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

            {

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

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

            {

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

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

            } else

            {

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

            {

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

            desField.set(des,date);

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

            {

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

            desField.set(des,ints);

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

            {

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

            desField.set(des,longs);

            } else{

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

            }

            }

            } else

            {

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

            }

            desField.setAccessible(false);

            srcfield.setAccessible(false);

        }

        } catch (Exception e) {

e.printStackTrace();

}

        }

    }

/**

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

*/

public static String formatDate(Date date) {

if (date == null)

return "";

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

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

}

/**

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

*/

public static Date ToDate(String date) throws ParseException {

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

return df.parse(date);

}

}

 

觉得可用,就经常来吧! 欢迎评论哦! html5教程,巧夺天工,精雕玉琢。小宝典献丑了!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

ArrayClassdivHTMLImportMappost-format-galleryProp

若转载请注明出处: 万能对象拷贝工具 支持不同数据类型
本文地址: https://pptw.com/jishu/586480.html
多线程handler的使用――3秒钟更换一次标题 Ant执行JUnit测试并生成报告

游客 回复需填写必要信息