假设我们有以下几点:Java列表<Parent>和列表<Children>方法
public class Parent{
public void setXXX(String XXX);
public String getXXX();
}
public class Children extends Parent{
....
}
现在我想创建一个像下面这样的方法称为克隆列表:
public List<Something> cloneList(List<Something> original){
List<Something> newList=new ArrayList<>();
for(Something e:original){
Something newE=new Something();
newE.setXXX(e.getXXX());
newList.add(newE);
}
return newList;
}
的事情是我们要cloneList可以应用于List<Parent>
和List<Children>
,所以无论如何适用于“某事”?
东西不能“扩展父?”或“父”,由于Java的Collection<Parent>
与Collection<Children>
假设不兼容: 1.不要想用任何方式序列化或反射。
我们无法修改父类和子类。这是在第三方Jar中预定义的。
SuperParent类是不可能的,因为在2
考虑一个事实,即您不能在您的帖子中发布< >括号除非你将其格式化为代码。 – 2014-10-30 15:10:54
使用泛型... – brso05 2014-10-30 15:15:10
没有解决方案满足您添加的所有约束。要创建其类不是静态已知的对象的忠实副本,您需要使用静态已知可用的反射或方法。如果这些类已经有可用的复制方法,那么你肯定会在你的示例代码中使用它。 (请注意''Object.clone()'可以达到这个目的,但是只有当类'Parent'实现'Cloneable'时,即使这样做,Object.clone()可能会很成问题。) – 2014-10-30 16:14:03