1被济、什么是泛型危融?
參數(shù)化類型, 比如形參,不提前只能參數(shù)的類型最铁。
可以用在類、接口斋射、方法中分別是泛型類悠垛、泛型接口、泛型方法野建。
2属划、eg:(JDK1.5之后引入泛型) List<String> arrayList = new ArrayList<String>();
3恬叹、 泛型只在編譯階段有效。
4同眯、普通的泛型類
image.png
5绽昼、泛型接口
image.png
image.png
6、通配符(?)為了解決 參數(shù)類型的不同
image.png
限定通配符和非限定通配符
<? extends T> T的子類--上界 List<? extends T>
<? super T> T的父類---下界 List <? super T>
<?>非限定通配符
7须蜗、泛型方法:在調(diào)用的時(shí)候指明泛型的具體類型硅确。
image.png
Object obj = genericMethod(Class.forName("com.test.test"));
8、java中是”不能創(chuàng)建一個(gè)確切的泛型類型的數(shù)組” 但是使用通配符可以
List<String>[] ls = new ArrayList<String>[10]; no
List<?>[] ls = new ArrayList<?>[10]; Y
List<String>[] ls = new ArrayList[10]; Y
9明肮、寫一個(gè)簡(jiǎn)單的泛型方法:T, E or K,V
public V put(K key, V value) {
return cache.put(key, value);
}