通过编写自己的泛型类,我还没有做很多事情,但是我试图创建自己的ArrayStack类,并且在理解如何正确编写构造函数时遇到了麻烦。

public class ArrayStack<T> implements List<T> {

   private T[] a;
   private int n;

   public ArrayStack(T[] a) {
      this.a = a;
   }
}

我的主类使用它:
public class ArrayStackTester {

   public static void main(String[] args) {
      ArrayStack<Integer> numbers = new ArrayStack<Integer>();
   }
}

这将产生一个编译错误,即The ArrayStack<Integer> is undefined,因此我显然怀疑ArrayStack类中的构造函数存在问题。

为了简洁起见,我没有包括所有重写的List方法。

最佳答案

尝试先定义此无参数构造函数:

public ArrayStack() {
}

或者,传递正确类型的数组:
Integer[] array = new Integer[100];
ArrayStack<Integer> numbers = new ArrayStack<Integer>(array);

09-25 20:34