1. 程式人生 > >幾種List限定符的區別

幾種List限定符的區別

個人部落格:小景哥哥

List<?>、List<Object>、List<T>的區別

List<?>是一個未知的型別,而List< Object >是任意型別的,可以把List< String >、List< Integer >賦值給List<?>,卻不能把List< String>賦給List< Object>。

List<?>其實和List<? extends Object>有點像。

List<T>是一個泛型,泛型也叫引數化型別,T是一個特定型別的引數,意味著我們在使用泛型的時候要給它引數。

“T"是定義類或方法時宣告的東西,”?"是呼叫時傳入的東西,二者是不同的概念。

<? extends T>確保型別必須是T的子類來設定型別的上界。<? super T>確保型別必須是T的父類來設定型別的下界。<?>表示了非限定萬用字元,可以用任意型別來代替。