首页 > 解决方案 > 在 Java 中使用数组构建双端队列(使用泛型)

问题描述

我正在尝试使用 java 数组实现 Deque。由于要求,我需要使用泛型,所以我有以下代码:

public class Deque<Item>{
   private Item[] deque;
   
   public Deque(){
      deque= new Item[10];
}

我知道这是错误的,但这就是我认为应该初始化数组的方式。如果有人能给我正确的方法来做这件事,那就太好了。

标签: java

解决方案


由于这是类内部的,你可以做这样的事情。

    public Deque() {
        deque = (Item[]) new Object[10];
    }

您需要这样做,因为泛型在运行时会进行类型擦除。由于 java 数组是协变的,你可以用Object.


推荐阅读