public class Stack<T> {
public <T> T pop() throws Exception;
}
爲什麼在方法public <T> T pop() throws Exception
中需要<T>
?java中的通用方法
public class Stack<T> {
public <T> T pop() throws Exception;
}
爲什麼在方法public <T> T pop() throws Exception
中需要<T>
?java中的通用方法
你不需要放在那裏public T pop() throws Exception
工作正常。
更詳細的解釋可以在這裏http://download.oracle.com/javase/tutorial/java/generics/genmethods.html
這似乎只是一個約定和偏好,Java的推斷,即使你沒有提供的方法類型的類型。
您可能會警告您的方法的泛型類型參數T
隱藏類的泛型T
。查看java.util.Stack
課程。它做的不同
public
class Stack<E> extends Vector<E> {
// ...
public synchronized E pop() {
// ...
你不應該在這裏需要。如果你不這樣做,你會得到一個特別的錯誤嗎? –
templatetypedef
2011-01-14 09:39:45