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

发布时间:2018-12-18 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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){  

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

        HashMap<String,Field> desFields = new HashMap<String,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){

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

HashMap<String,Field> desFields = new HashMap<String,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){  

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

        HashMap<String,Field> desFields = new HashMap<String,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){

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

HashMap<String,Field> desFields = new HashMap<String,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教程,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的html5教程-万能对象拷贝工具 支持不同数据类型全部内容,希望文章能够帮你解决html5教程-万能对象拷贝工具 支持不同数据类型所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:HTML