import java.util.EmptyStackException;
import java.util.Vector;
public class Stack<E> extends Vector<E> {
private E a[];
private int top;
public void Stack() {
a = new E[100];
top = -1;
}
public void Stack(int n) {
a = new E[n];
top = -1;
}
public E pop() {
E obj;
int len = size();
if (top == -1)
throw new EmptyStackException();
else
obj = a[top--];
return obj;
}
public void push(E e) {
if (e == null)
throw new NullPointerException();
else if (top == size() - 1)
System.out.println("Stack full");
else {
a[++top] = e;
System.out.println("pushed :" + e);
}
}
public int size() {
int i;
for (i = 0; a[i] != null; i++)
;
return i;
}
}
這是我的籌碼仿製藥Java類。我在兩個構造函數(即Stack()和Stack(int n))中獲得數組聲明中的錯誤。在這兩種情況下,錯誤都是「通用數組創建」。請幫助
請參閱此問題:http://stackoverflow.com/questions/529085/java-how-to-generic-array-creation – Mat 2012-04-11 12:49:13
你的構造函數是不是真的構造函數,因爲構造函數沒有返回類型。另外,你正在擴展'Vector',這意味着你不需要有一個本地數組。 – Paaske 2012-04-11 13:05:55