說散就散以前任泛型-1

 

泛型

本節要點:數組

  • 1 泛型類是帶有一個或者多個類型的參數的類。
  • 2 泛型方法是帶有類型參數的方法。
  • 3 你能夠要求類型參數必須是一個或者多個類型的子類型。
  • 4 泛型類型是不變的,當S是T的子類是 G<S>和G<T>沒有關係。
  • 5 經過使用通配符G<? extends T> 或者 G<> super T> 你能夠制定一個方法接受一個帶有子類或者父類參數的泛型類型的實例。
  • 6 當泛型類和泛型方法被編譯時,類型參數會被擦除。
  • 7 類型擦除對泛型諸多限制,特別是,你不能實例化泛型類或者數組,不能轉換成泛型類型,或者拋出一個泛型類的對象。
  • 8 Class<T> 是一個泛型類,他很是有用,由於諸如newInstance這樣的方法被申明爲一個T類型的值。
  • 9 即便泛型類和方法在虛擬機中被擦除,你也能夠在運行時找出他們是如何申明的。

1 .泛型類網絡

/** * 泛型類是有一個或者多個類型參數的類 * @author gaolei **/
public class Entry<K,V> { private K key; private V value; public Entry(K key, V value) { this.key = key; this.value = value; } public K getKey() { return key; } public V getValue() { return value; } }

  正如你看到的那樣,類名以後的尖括號中指定了類型參數K和V,在類成員的定義中,他們被用做實例變量的類型、方法的參數和返回值的類型。this

構造一個泛型類的對象是 例如  Entry<String ,Integer> entry = new Entry<>("1",2); 等同new Entry<String ,Integer>("1",2),注意類型參數不能用基本數據類型實例化。spa

2.泛型方法code

/** * @author GAOLEI **/
public class Arrays { /** * 泛型方法是一個帶有類型參數的方法 泛型方法能夠是普通類或者泛型類 * @param arr 數組 * @param i 下標i * @param j 下標j * @param <T> 類型T */
    public static <T> void swap(T[] arr,int i,int j){ T temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } }

 

 
swap方法能夠交換任何數組中的元素(只要數組中的元素類型不是基本數據類型),
public static void main(String[] args) { String [] arr = {"1","2"}; //<String> 非必須
        Arrays.<String>swap(arr,0,1); for (String s : arr) { System.out.println(s); } }

 

經過上面的例子你是否已經感覺到泛型是如此的有用。
------------------------題外話--------------------------------

                                                         圖片來源於網絡對象

說不上愛別說謊就一點喜歡blog

 

說不上恨別糾纏別裝做感嘆圖片

 

就看成我太麻煩不停讓本身受傷get

我告訴我本身感情就是這樣虛擬機

 

怎麼一不當心太瘋狂

 

抱一抱再好好覺悟不能長久

 

好很差有虧欠咱們都別追究

 

算了吧我付出再多都不足夠

每當聽到這首說散就散筆者內省總會掀起波瀾久久不能平靜,不知道那些年錯過的她們如今過得怎麼樣了,想一想小時候仍是太天真,哎。。。 在這裏筆者但願有情人都能成眷屬,沒能在一塊兒也要讓他轟轟烈烈。固然說了這麼多的前提是先有個女友

以上內容僅表明做者我的觀點,有不恰當但願指正更改

Copyright 2018-1-7 by 風同樣的男子

相關文章
相關標籤/搜索