2013-06-06 99 views
6

我有一個籠類:原始類型。引用泛型類型,應參數

public class Cage<T extends Animal> { 
// the construtor takes in an integer as an explicit parameter 
... 
} 

我試圖實例凱奇的對象在另一個類的主要方法:

private Cage cage5 = new Cage(5); 

我得到的錯誤:凱奇是一種原始類型。泛型類型籠的引用應該被參數化。我試了幾個想法,但我堅持這個棘手的語法:O(

+0

[Class是原始類型的可能重複。參考泛型類應參數化](http://stackoverflow.com/questions/1372595/class-is-a-raw-type-references-to-generic-type-classt-should-be-參數化) – wchargin

+3

請不要編輯您的問題以使答案失效。如果您有新問題,請打開一個新問題。既然你已經刪除了原來的問題並用新的問題替換了,我的答案不再有意義。我回滾了這個問題。 – cdhowie

+0

對不起,我會提出一個新問題。 – LanneR

回答

14

Cage<T>是一個泛型類型,所以你需要指定一個類型參數,像這樣(假設有一個class Dog extends Animal):

private Cage<Dog> cage5 = new Cage<Dog>(5); 

您可以使用擴展Animal任何類型(甚至Animal本身)。

如果在這種情況下省略類型參數,那麼你風什麼了基本上是Cage<Animal>。不過,你還是應該明確說明類型參數即使這是你想要的,

+0

謝謝cdhowie。我很抱歉,我嘗試了幾個不同的東西。我現在正在編輯一個更頑固的錯誤。感謝您的輸入! – LanneR

相關問題