Java:从源映射/复制到具有不同成员变量的目标

标签 java

我有两个类 Person 和 Employee ,如下所示。

    Person{
    private String name;
    private String gender;
    private String address;
    }

    Employee{
    private String name;
    private String gender;
    }

我想将 Person 复制到 Employee 中。由于两个对象在结构上不相等,如何复制对象?

最佳答案

为类的私有(private)字段提供访问器和修改器方法(通常也称为“Getters”和“Setters”)。例如。对于您的 Employee 类:

Employee {
    private String name;
    private String gender;

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getGender() {
        return this.gender;
    }
}

这将允许您根据一个对象的值指定另一个对象的状态。例如...

employee.setName(person.getName());

有多种方法可以为此类设计皮肤。或者,你可以这样做:

Employee {
    private String name;
    private String gender;

    Employee(Person person) {
        this.name = person.getName();
        this.gender = person.getGender();
    }
}

(请注意,如果您这样做,您将丢失无参构造函数!)

关于Java:从源映射/复制到具有不同成员变量的目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39419951/

相关文章:

java - 从 GWT 客户端访问 HttpServletResponse

java - 使用 JDBC Ping MySQL 服务器

java - 当按下某些其他键时,KeyEvent 不会触发

java - 通过 selenium 选择一个 javascript 下拉列表?

java - 如何使用 @responsebody 在 JSON 返回值中添加字段名称?

java - TreeSet contains 方法对我不起作用

java - 在 Spring security 中使用 @PreAuthorize 以及角色和权限

java - 当接口(interface)不在子类.jar中时导入子类

java - 我的 1 :30 minute long WAV file is only playing for three seconds

java从数据库获取持续时间