通过编写自己的泛型类,我还没有做很多事情,但是我试图创建自己的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);