admin
2021-10-12 664cc2fd39177fd3daa6d3988396c704d130882c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package org.yeshi.utils.bean;
 
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
 
/**
 * @author Administrator
 * @title: BeanUtil
 * @description: TODO
 * @date 2021/10/11 14:01
 */
public class BeanUtil {
 
    //复制属性
    public static Object copyProperties(Object source, Object target) throws IllegalAccessException {
        Map<String, Field> targetFieldMap = new HashMap<>();
        Field[] fs = target.getClass().getDeclaredFields();
        for (Field field : fs) {
            targetFieldMap.put(field.getName(), field);
        }
        fs = source.getClass().getDeclaredFields();
        for (Field field : fs) {
            if (targetFieldMap.get(field.getName()) == null)
                continue;
            //获取对象的属性值
            field.setAccessible(true);
            Object resultValue = field.get(source);
            targetFieldMap.get(field.getName()).setAccessible(true);
            targetFieldMap.get(field.getName()).set(target, resultValue);
        }
        return target;
    }
 
 
}