美文网首页
Java对象拷贝

Java对象拷贝

作者: Time一柒 | 来源:发表于2020-05-18 15:43 被阅读0次
    // 将一个对象值拷贝另一个对象,并忽略空值
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import org.springframework.beans.BeanUtils;
    import org.springframework.beans.BeanWrapper;
    import org.springframework.beans.BeanWrapperImpl;
    
    import java.util.*;
    
    public class CopyUtils {
        public static String[] getNullPropertyNames (Object source) {
            final BeanWrapper src = new BeanWrapperImpl(source);
            java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors();
    
            Set<String> emptyNames = new HashSet<String>();
            for(java.beans.PropertyDescriptor pd : pds) {
                Object srcValue = src.getPropertyValue(pd.getName());
                if (srcValue == null) emptyNames.add(pd.getName());
            }
            String[] result = new String[emptyNames.size()];
            return emptyNames.toArray(result);
        }
    
        /**
         * 复制函数
         * @param src 需要被复制的对象
         * @param target 需要赋值给的对象
         */
        public static void copyProperties(Object src, Object target) {
            BeanUtils.copyProperties(src, target, getNullPropertyNames(src));
        }
    
    
    }
    
    • 实现方法
    BeanUtils.copyProperties(inhospRegInsert, patientReportview);
    

    相关文章

      网友评论

          本文标题:Java对象拷贝

          本文链接:https://www.haomeiwen.com/subject/qkouohtx.html