import java.util.ArrayList;
class Stack {
private ArrayList stack;
private int pos;
Stack() {
stack = new ArrayList();
pos = -1;
}
int pop() {
if(pos < 0) {
System.out.println("Stack underflow.");
return 0;
}
int out = stack.get(pos);
stack.remove(pos);
pos--;
return out;
}
}
我想寫一個基本的變量長度堆棧,這是我的代碼片段。當我運行這個,我得到一個錯誤:爲什麼int作爲Object傳遞?
Main.java:16: error: incompatible types
int out = stack.get(pos);
^
required: int
found: Object
爲什麼這是作爲一個對象傳遞?
'stack.get()'返回'Object'因爲'stack'是'ArrayList'。這與'out'的類型不兼容。指示錯誤發生的'^'是一條紅色的鯡魚。 – NullUserException
@NullUserException錯誤是正確的,'^'字符位置只是有點怪異。它指的是返回類型,而不是'pos'中的類型,我承認使用'^'指向返回類型有點困難。 – cdhowie