我想在java中使用泛型方法第一次。它不工作,而且在我看來,Java泛型並不意味着以這種方式使用 - 我需要實現一個通用接口,而不是使用泛型方法。請確認(或否認)該結論。在Java中使用泛型方法參數
這就是我想要做的事:
public <T> void updateItem(T item) {
String itemKey = item.getKey();
...
這給我的錯誤「的方法信息getKey()是未定義的類型T」。
尋找爲什麼這不起作用,我看到類型擦除「如果類型參數是無界的,則用泛界限或對象替換泛型中的所有類型參數」。
我可以'綁定'我的類型T的唯一方法是如果我爲所有我打算使用的類型創建一個公共子類或接口,並且如果我這樣做,那麼我可以使用多態而不是泛型。
看起來你想使用一個接口,而不是泛型。 – svz 2013-04-04 17:06:27
T應該是什麼?你可以使用'' –
Supericy
2013-04-04 17:06:27
我有這個想法(來自Python或C++),我不必指定T是什麼。當使用類型調用T時,T將被類型檢查。 – Tom 2013-04-04 17:07:45