class和 class類型

? 表示不肯定的java類型。 
T 表示java類型

Class<T>在實例化的時候,T要替換成具體類
Class<?>它是個通配泛型,?能夠表明任何類型
<? extends T>受限統配,表示T的一個未知子類。
<? super T>下限統配,表示T的一個未知父類。
Class<T> 多見於泛型類的定義和聲明。
Class<?>是Class<? extends Object>的簡寫。
Object是全部類的根類,是具體的一個類,使用的時候多是須要類型強制轉換的,可是用T ?等這些的話,在實際用以前類型就已經肯定了,不須要強制轉換。
那麼
MyClass<? extends A> a=new MyClass<B>();
問好表示a所知的對象不知道是什麼具體類型,extends A意味着這B確定(必須)是A的子類或者就是A自己。

<? extends Collection> 這裏?表明一個未知的類型,這個未知的類型其實是Collection的一個子類,Collection是這個通配符的上限.
相關文章
相關標籤/搜索