Java疯狂讲义(第8章——泛型)(读书笔记)
生活随笔
收集整理的這篇文章主要介紹了
Java疯狂讲义(第8章——泛型)(读书笔记)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
第8章泛型
這章學不太懂,所以簡單記錄一下,如果要用到這方面的知識,我再專門來學習一下。
8.1 泛型入門
8.1.2 使用泛型
從Java5以后,Java引用了“參數(shù)化類型(parameterized type)”的概念,允許程序在創(chuàng)建集合時指定集合元素的類型,正如在第7章的ShowHand.java程序中見到的List,這表明List只能保存字符串類型的對象。Java的參數(shù)化類型被稱為泛型。
8.2 深入泛型
可以為任何類、接口增加反省聲明(并不是只有集合類才可以使用泛型聲明,雖然集合類是泛型的重要使用場所)。下面定義一個Apple類,這個Apple類就可以包含一個泛型聲明:
8.3 類型通配符
8.4 泛型方法
泛型方法的語法格式如下:
修飾符<T, S>返回值類型 方法名(形參列表) { // 方法體... } import java.util.ArrayList; import java.util.Collection;public class GenericMethodTest {// 聲明一個泛型方法,該泛型方法中帶一個T類型形參static <T> void fromArrayToCollection(T[] a, Collection<T> c){for (T o: a){c.add(o);}}public static void main(String[] args) {Object[] oa = new Object[100];Collection<Object> co = new ArrayList<>();// 下面代碼中T代表Object類型fromArrayToCollection(oa, co);String[] sa = new String[100];Collection<String> cs = new ArrayList<>();// 下面代碼中T代表String類型fromArrayToCollection(sa, cs);// 下面代碼中T帶代表Object類型fromArrayToCollection(sa, co);Integer[] ia = new Integer[100];Float[] fa = new Float[100];Number[] na = new Number[100];Collection<Number> cn = new ArrayList<>();// 下面代碼中T代表Number類型fromArrayToCollection(ia, cn);// 下面代碼中T代表Number類型fromArrayToCollection(fa, cn);// 下面代碼中T代表Number類型fromArrayToCollection(na, cn);// 下面代碼中T代表Obejct類型fromArrayToCollection(na, co);// 下面代碼中T代表String類型,但na是要給Number數(shù)組// 因為Number既不是String類型// 也不是它的子類,所以出現(xiàn)編譯錯誤// fromArrayToCollection(na, cs);} }8.5 擦除和轉換
8.6 泛型與數(shù)組
總結
以上是生活随笔為你收集整理的Java疯狂讲义(第8章——泛型)(读书笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。