java两个对象相同属性赋值(JAVA对象间同名属性快速赋值的方法)

在开发过程中,经常会有这样的需求:把一个对象的属性值赋值给另一个对象的同名属性。

Spring提供了BeanUtils.copyProperties()方法,能快速给同名变量赋值。

定义两个有同名变量的类

定义Role类和User类,他们有同名的变量:roleId 和 roleName

Role类:

@Data
public class Role {
    private String roleId;
    private String roleName;
}

User类:

@Data
@ToString
public class User {
    private String userId;
    private String userName;
    private String roleId;
    private String roleName;
}

使用BeanUtils.copyProperties()方法赋值

新建role对象,并设置属性值,然后使用BeanUtils.copyProperties()方法将role对象中的属性值赋值给user对象。

public class Test {
    public static void main(String[] args) {
        Role role = new Role();
        role.setRoleId("1");
        role.setRoleName("admin");
        User user = new User();
        BeanUtils.copyProperties(role, user);
        System.out.println(user);
    }
}

从输出结果能看到,同名属性值以赋值给user对象。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 lqy2005888@qq.com 举报,一经查实,本站将立刻删除。