作爲隨訪至this question,第一背景爲什麼忽略參數類型時泛型完全禁用?
鑑於這一聲明一個類:
public class SomeClass<T>
而且一個子類,不使用泛型參數:
public class SomeSubClass extends SomeClass
的方法上SomeClass聲明如下:
protected Map<String, Object> getMap(Object param) {
}
如果調用子類這樣的方法:
Map<String, Object> val = getMap(param);
編譯器在本質上抱怨的GetMap返回一個普通的地圖,並有一個未經檢查的分配給一個泛型化地圖。爲什麼會這樣?這是對泛型的文檔化的期望,是否有原因呢?
您可以發佈確切異常,一個真正的代碼示例?很難確定你發佈的內容。 – 2009-06-24 19:46:50
如果你看看鏈接的問題,你有一個真實的例子。 http://stackoverflow.com/questions/1039658/why-is-code-that-returns-a-genericized-map-generating-a-compiler-warning-when-ass – Yishai 2009-06-24 19:48:56
相關問題與很好的解釋http:// stackoverflow .com/questions/449103 – 2009-06-24 20:39:04