我不斷收到一個錯誤,指出存在不兼容的類型。我直接抄襲了一本書,因爲我們應該修改代碼來增強戰爭遊戲。我有所有其他類完成和編譯,但這一個給我適合。這裏是代碼:Java中的不兼容類型錯誤
public class ArrayStack<E> implements Stack<E> {
private E[] data;
private int size;
public ArrayStack() {
data = (E[])(new Object[1]);
size = 0;
}
public boolean isEmpty() {
return size == 0;
}
public Object pop() {
if (isEmpty()) {
throw new EmptyStructureException();
}
size--;
return data[size];
}
public Object peek() {
if (isEmpty()) {
throw new EmptyStructureException();
}
return data[size - 1];
}
protected boolean isFull() {
return size == data.length;
}
public void push(Object target) {
if (isFull()) {
stretch();
}
data[size] = target;
size++;
}
protected void stretch() {
E[] newData = (E[])(new Object[data.length * 2]);
for (int i = 0; i < data.length; i++) {
newData[i] = data[i];
}
data = newData;
}
}
錯誤發生在push []方法在data [size] = target;線。編輯::: 我現在收到此錯誤。 「類型堆棧不帶參數 公共類ArrayStack implements堆棧」
堆棧類如下。
public interface Stack<E> {
public boolean isEmpty();
public E peek();
public E pop();
public void push(E target);
}
請顯示您的Stack接口(我假設您沒有使用內置類java.util.Stack)。 – rgettman