參考鏈接: Java中的類和對象
項目中經常需要將某個對象的屬性值復制給另一個對象,或者將一個集合復制到另一個集合。利用spring提供的BeanUtils,自己簡單封裝了一個工具類。?
public class CopyUtils {
?
? ? /**
? ? ?* 復制集合
? ? ?*/
? ? public static <T,K> List<T> copyList(List<K> sourceList, Class<T> clazz) {
? ? ? ? if (CollectionUtils.isEmpty(sourceList)) {
? ? ? ? ? ? return null;
? ? ? ? }
?
? ? ? ? ArrayList<T> target = new ArrayList<>();
? ? ? ? sourceList.forEach(k -> target.add(convert(k, clazz)));
? ? ? ? return target;
? ? }
?
? ? /**
? ? ?* 復制對象
? ? ?*/
? ? public static <T,K> T convert(K source, Class<T> clazz) {
? ? ? ? T t = BeanUtils.instantiate(clazz);
? ? ? ? BeanUtils.copyProperties(source, t);
? ? ? ? return t;
? ? }
?
}