反射复制两个对象的属性值

public class CopeT {
    public static  <T> void copy(T src, T dst, List removeField) throws IllegalAccessException {
        Field[] fs = src.getClass().getDeclaredFields();
        for (Field f :
                fs) {
            if(!removeField.contains(f.getName())) {
                f.setAccessible(true);
                f.set(dst, f.get(src));
            }
        }
    }
}

测试

@Test
    public void testcopy(){
        ModuleEntity src= new ModuleEntity();
        ModuleEntity dst =new ModuleEntity();
        src.setName("gggg");
        src.setId("1111");
        try {
            List list = new ArrayList();
            list.add("name");
            CopeT.copy(src,dst,list);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        int i=0;
    }

猜你喜欢

转载自blog.csdn.net/wyljz/article/details/99625563