java - 将列表类型复制到抽象列表

标签 java abstract-class type-conversion abstract-data-type

我有两个类继承自一个抽象类。这两个类规定了要使用哪种类型的 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/

相关文章:

java - 扩展第三方现有的 JAXB 类

c# - 通过构造函数在 IoC 中强制执行依赖项?

c++ - : Insert pair into multimap, 其中一种类型如何是抽象的?

Java 将 StringBuilder 转换为 CharBuffer

java - 轮询服务器状态的方法

java - 从监听器/事件更改 JComponent

java - Gson将2个不同的类字段Mongo DB点映射到LatLng类

c++ - 需要带有纯抽象类类型参数的子句?

python - 将字符串列表转换为 int

oracle - "Safe"TO_NUMBER()