泛型的基礎知識整理

2021-10-07 18:13:00 字數 1811 閱讀 3887

泛型就是將具體的型別引數化,將型別定義成引數形式,等到使用的時候再傳入具體的型別。泛型可以使用在類、介面和方法中。

泛型的優勢:

①編譯時檢查**的型別安全,從而減少出錯的概率;

②消除了強制型別轉換,沒有泛型的返回值,我們可以認為是乙個object,在使用時需要對其進行強制轉換,這樣就可能會出現classcastexception(型別轉換異常)。

定義格式:修飾符 class 類名<泛型變數》。

/**

* @description: 動物類

* @author: murphy

* @date: 2020/7/37:41 上午

*/public

class

animal

}/** * @description: 狗類

* @author: murphy

* @date: 2020/7/37:43 上午

*/public

class

dog/**

* @description: 測試類

* @author: murphy

* @date: 2020/7/37:44 上午

*/public

class

demo

}

泛型類在建立物件時確定泛型。

定義格式:修飾符 《泛型變數》 返回值型別 方法名(引數) 。

public

void

method

(t t)

泛型方法在呼叫方法時確定泛型。

定義格式:修飾符 inte***ce 介面名 《泛型變數》 。

/**

* @description: 商品介面

* @author: murphy

* @date: 2020/7/38:10 上午

*/public

inte***ce

goodsinte***ce

定義類時確定泛型

/** * @description: 商品介面的實現類

* @author: murphy

* @date: 2020/7/38:12 上午

*/public

class

goods

implements

goodsinte***ce

}建立物件時確定泛型的型別

/** * @description: 商品介面的實現類

* @author: murphy

* @date: 2020/7/38:12 上午

*/public

class

goods

implements

goodsinte***ce

}/** * @description: 測試類

* @author: murphy

* @date: 2020/7/37:44 上午

*/public

class

demo

}

e(element):元素;

t(type):型別;

k(key):鍵值;

v(value):value值;

?:泛型萬用字元,代表一切型別,能接受一切但不能修改。

泛型的上限

<? extends string>:只能接收string類及其子類。

泛型的下限

<? super string>:只能接收string類及其父類。

C 基礎知識(八)泛型

泛型的好處很多,包括復用性 可供多個型別使用而不用每個型別都定義一次 型別安全 不合法的型別報錯 高效率 減少裝箱和拆箱 舉例 假設我們有乙個父類animal,所有動物繼承這個類,現在需要做乙個比較動物重量的方法,如果不用泛型,則我們隊沒類動物都需要過載一次比較的方法 public class an...

C 基礎知識 泛型程式設計 模板

類模板首先思考乙個問題 如何實現乙個通用的交換函式呢?這裡很多人可能會想到函式過載,沒錯,函式過載可以實現不同型別資料的交換,但是也有很大的缺陷 過載的函式僅僅只是型別不同,的復用率比較低,只要有新型別出現時,就需要增加對應的函式 的可維護性比較低,乙個出錯可能所有的過載均出錯 那能否給編譯器乙個模...

泛型知識點整理

泛型好處 1 將執行時期的問題classcastexception轉到了編譯時期 2 避免了強制轉換的麻煩 什麼時候用 當操作的引用資料型別不確定的時候,使用 泛型擦除 執行時,會將泛型去掉,生產的class檔案中是不帶泛型的,這個稱為泛型的擦除。泛型補償 執行時,通過獲取元素的型別進行轉換動作,不...