2011-05-06 62 views
3

我把自己瞭解最新的Java泛型(工作了遺留代碼過長...的時間與JDK 1.4 ... 1.3偶數)我不太明白這一點:Java泛型 - 我如何閱讀:Foo <T extends Bar <?延伸Foo <T> >>?

public class Foo<T extends Bar<? extends Foo<T>>> { ... 

哪裏FooBar是兩個泛型類。

這是如何理解,因爲我不完全明白它?

我讀了很多關於Java泛型的知識,但這是一個小小的思維彎曲(至少對於我來說是一個初學者)。

+0

[創建循環泛型引用]的可能重複(http://stackoverflow.com/questions/2567595/creating-circular-generic-references) – 2011-05-06 17:00:25

回答

4

那麼,Foo必須由參數TT本身必須擴展Bar<U>某些類型U,使U延伸Foo<T>。 (在這裏「擴展」可以表示「與此類型相同」。)在這裏我使用U作爲任意類型的名稱,但是在聲明中未命名,因此?

你說得對,這有點令人頭腦發熱,但通常在這種事情出現的情況下,最終會使事情變得更簡單。如果你可以舉一個具體的例子,我們可以更有用地解釋一下。

相關問題