我有两个类继承自一个抽象类。这两个类规定了要使用哪种类型的 AbstractList:ArrayList 或 LinkedList。
public class ArrayListMergeSort extends MergeSortData
{
public ArrayListMergeSort()
{
super();
data= new ArrayList<String>();
}
}
我想知道如何根据列表数据的类型在抽象类中创建一个新的临时 AbstractList?
最佳答案
您可以在抽象类 MergeSortData
中使用一个返回 List
的抽象方法:
public abstract List<String> getNewList();
然后,您在每个子类中实现此方法。
例如,在ArrayListMergeSort
中:
public List<String> getNewList() {
return new ArrayList<String>();
}
抽象类MergeSortData
的任何方法都可以调用getNewList()
来获取正确实现的新List
。
关于java - 将列表类型复制到抽象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39799191/