堆栈数组实现中的通用构造函数问题?

Generic Constructor Issues in Stack Array Implementation?

我正在 Java 中进行通用堆栈实现,运行 遇到了构造函数的一些问题。 class Stack226Array 实现了给我们的Stack226。所以,我的构造函数声明如下:

public void Stack226Array(int initialCapacity) {
    this.stack = (T[]) new Object[initialCapacity];
    this.top = 0;
}

我这样称呼它:

Stack226<Integer> intStack = new Stack226Array<>(10);

哪个returns错误:

 constructor Stack226Array in class Stack226Array<T> cannot be applied to given types;
Stack226<Integer> intStack = Stack226Array<Integer>(10);
required: no arguments
found: int

可能是相关问题,但是当我尝试将默认构造函数声明为:

public void Stack226Array() {
    this(100);
}

它 returns 一个错误,调用它必须是构造函数中的第一个语句。非常感谢任何可以提供帮助的人!如果您需要更多代码片段,请告诉我。

您的两个构造函数的问题是您放置了 return 类型的 void。构造函数上不能有 return 类型。这就是为什么找不到构造函数并且编译器认为只有默认构造函数的原因。