java 泛型入門理解

關於泛型

泛型是java1.5的新特性,泛型的本質是參數化類型,也就是將可以處理類型參數化。泛型可以用在類、接口、方法的創建中,分別稱爲泛型類、泛型接口和泛型方法。
在沒泛型的1.5之前,通過對類型Object的引用實現參數的“任意化”,帶來的缺點就是需要做顯示的強制類型轉換,而這種轉換時要求開發者對實際參數類型可以預知的情況下進行的,但是避免不了一些類型強轉出現異常,但是編譯器是不提示錯誤的,所以是一種安全隱患。
java語言引入泛型的好處就是安全簡單,泛型的好處是在編譯的時候檢查類型安全,如果類型不一致,編譯不會通過,並且所有的強制轉換都是自動和隱式的,提高代碼的重用率。

泛型類

定義一個Box類

/**
 * 新建一個盒子可以裝入多種類型,T是一個可操作類型的參數
 * @author zhh
 *
 * @param <T>
 */
public class Box<T> {
    private T t;
    public T getT() {
        return t;
    }
    public void setT(T t) {
        this.t = t;
    }
}

使用的時候可以指定具體操作的類型,在調用set方法的時候編譯器是可以檢查類型是否匹配,如果不匹配編譯器會報錯。取值的話是不需要直接類型轉換。
如下代碼,如果指定了類型爲String,set整型(int)的話,編譯器是會報錯的。而直接取值的話不用像使用Object時使用強制轉換。

public static void main(String[] args) {
        Box<String> box = new Box<String>();
        box.setT("abc");
        System.out.println(box.getT());
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章