我们有一些代码当前正在调用远程EJB,该远程EJB返回ClassA
对象的列表。我需要向ClassA
添加更多属性,但是我被告知我们根本不想修改远程EJB。因此,我创建了一个ClassB
并扩展了ClassA
并添加了这些新属性。因此,我遇到的问题是我不知道如何将List<ClassA>
转换为List<ClassB>
。
public class ClassA {
private String propA;
private String propB;
}
public class ClassB extends ClassA {
private String propC;
private String propD;
}
public class ServiceClass {
public List<ClassA> getInfo() {
List<ClassA> myInfo = remoteEjb.serviceCall();
return myInfo;
}
}
如何将myInfo
变成List<ClassB>
?
答案 0 :(得分:0)
您不能将超类转换为子类。您可以一个接一个地获取每个属性并在B类的新实例中进行设置,也可以使用推土机之类的转换器。