假設我有:泛型質疑
public interface Action<S extends Shape> {
public void start(S shape);
}
爲什麼我得到以下?
public <S extends Shape> void performAction(Action<S> action, Shape shape) {
action.start(shape); // error: cannot supply Shape
}
換句話說,在未來,可能我的Shape
子類和Action
s表示對它們進行操作,如:
Action<Rectangle>
Action<Blob>
我想有一個統一的接口,可以適用Action
s到Shape
的一堆不同的子類。
+1。在原始代碼中,不能保證「形狀」是「行動」期望的任何類型。 – 2010-01-27 17:41:24
在這種情況下,我認爲泛型只會讓事情複雜化。 – jjnguy 2010-01-27 17:46:00
@jjnguy,在這種簡單的情況下,似乎沒有必要同意泛型。 – 2010-01-27 19:39:33