接下來我們說一說萬用字元。
list<? extends fruit> list可以理解為「具有任何從fruit繼承的型別的列表「,這裡雖然能容器初始化,但是我們向其中加入物件的時候都會報錯。因為現在我們不確定list裡面裝的是什麼型別,所以無法向其中加入物件,但是get的時候因為我們確定他是由fruit繼承來的,所以允許這麼做。public class noncovariantgenerics
}class fruit{}
class orange extends fruit{}
public class genericsandcovariance
}
我們還可以使用超型別萬用字元。這裡,可以宣告萬用字元是由某個特定的任何基類來界定的,方法是指定<? super myclass>.
public class supertypewildcards
}
泛型(萬用字元)
1 宣告好泛型型別之後,集合中只能存放特定型別元素 2 泛型型別必須是引用型別 3 使用泛型後取出元素不需要型別轉換.泛型函式 當函式中使用了乙個不明確的資料型別,那麼在函式上就可以進行泛型的定義。public 泛型的宣告 返回值型別 函式名 泛型 變數名 泛型類 修飾符 class 類名 泛型 泛...
泛型 萬用字元
利用泛型技術雖然解決了向下轉型所帶來的安全隱患問題,但同時又會產生乙個新的問題 即便是同乙個類,但是由於設定泛型型別的不同,那麼其物件表示的含義也是不同,是不能夠直接進行引用操作的,例如 現在有如下乙個類。class message public t getmsg 使用萬用字元 解決引數傳遞問題 p...
泛型萬用字元
萬用字元 叫做萬用字元上限,比如當乙個集合的元素型別使用?號統配符的時候,表示在向這個集合是所有集合的父類。例如如下 public static void test2 list ls test public void test1 extends t 表示 一定t 的子類或者t的本身,看如下 publ...