合并两个java bean对象非空属性(泛型)
Posted 一路前行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合并两个java bean对象非空属性(泛型)相关的知识,希望对你有一定的参考价值。
import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; class Beanutils{ //merge two bean by discovering differences public static <M> void merge(M target, M destination) throws Exception { BeanInfo beanInfo = Introspector.getBeanInfo(target.getClass()); // Iterate over all the attributes for (PropertyDescriptor descriptor : beanInfo.getPropertyDescriptors()) { // Only copy writable attributes if (descriptor.getWriteMethod() != null) { Object originalValue = descriptor.getReadMethod() .invoke(target); // Only copy values values where the destination values is null if (originalValue == null) { Object defaultValue = descriptor.getReadMethod().invoke( destination); descriptor.getWriteMethod().invoke(target, defaultValue); } } } } }
以上是关于合并两个java bean对象非空属性(泛型)的主要内容,如果未能解决你的问题,请参考以下文章