java泛型-从同级类复制值

ct3nt3jp  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(116)

在java中可以这样做吗?

public class serviceClass<T extends BaseClass, D extends BaseClass> {

    private T copyPropertiesValues(D item) {

        BaseClass item2 =  item.getClass().getDeclaredConstructor().newInstance();
        BeanUtils.copyProperties(item, item2);

        T newItem = (T) item2;

        //newItem is an instance of D instead of T

    }

}

我找到的唯一方法是转到“t”类并创建一个以“d”为参数的构造函数。
但是我将创建许多继承自基类的其他类,并且我需要一个接一个地“重复”代码。
有没有更简单的方法?
谢谢您。
更新
添加更多详细信息:
基类.java

@Data
public abstract class BaseClass {
    @Id
    private Long id;
    private String integrationStatus;
}

java(表示不同表中的不同字段,但包含“id”和“integrationstatus”)—在我的项目中会有很多这样的类型

@Data
public abstract class ParentClass extends BaseClass {

    private String col001;
    private String col002;
    ///other fields
}

childclass(表示“t”和“d”)—每个parentclass只有两个

@Data
@Entity
@Table(schema = "DB_[number]", table="sameTable")
public class ChildClass extends ParentClass {

    public ChildClass() {}

    public ChildClass(ParentClass otherObj) {
        BeanUtils.copyProperties(otherObj, this)
    }

}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题