泛型知識點整理

2021-06-22 16:54:22 字數 659 閱讀 3381

泛型好處:

1、將執行時期的問題classcastexception轉到了編譯時期

2、避免了強制轉換的麻煩

什麼時候用:

當操作的引用資料型別不確定的時候,使用<>;

泛型擦除:

執行時,會將泛型去掉,生產的class檔案中是不帶泛型的,這個稱為泛型的擦除。

泛型補償:

執行時,通過獲取元素的型別進行轉換動作,不用使用者再強制轉換了。

泛型定義的位置:

泛型定義在方法上:在呼叫方法時,可以使用任何型別的引數;

泛型定義在類上,建立該類物件時,明確這個物件使用的引數型別;

泛型定義必須放在返回值前,修飾詞後。

靜態方法不能使用類上定義的泛型,因為泛型是需要通過物件來明確的,靜態方法不需要物件,所以無法用該泛型。

當方法為靜態時,不能訪問類上定義的泛型,如果靜態方法要使用泛型,只能將泛型定義在方法上。

泛型的上限和下限:

上限       ? extends e;e的子類以及e

下限       ?super e;e的父類以及e

一般在儲存元素時,用上限。因為這樣取出的元素都是按照上限型別來算的,不會出現型別安全隱患。

對集合中的元素進行取出操作時,可以使用下限。比較器就是對集合中的元素取出,用父型別的引用接收。

知識點整理

一 標準庫容器和演算法 1.順序容器 與前面類似 2.關聯容器 map和multimap 元素包含key 鍵 和值 value 兩部分 按照鍵對元素排序 map不允許重複元素出現,但multimap可以 set和multliset 是包含已排序物件的關聯容器 只是單純的鍵的集合 set不允許重複鍵出...

知識點整理

一 標準庫容器和演算法 1.順序容器 與前面類似 2.關聯容器 map和multimap 元素包含key 鍵 和值 value 兩部分 按照鍵對元素排序 map不允許重複元素出現,但multimap可以 set和multliset 是包含已排序物件的關聯容器 只是單純的鍵的集合 set不允許重複鍵出...

知識點整理

一 狀態控制碼 code,control flag 標誌位欄位 u a p r s f 佔6位元。各 位元的含義如下 ack 確認位元 acknowledge 只有當ack 1時確認號字段才有效,代表這個封包為確認封包。當ack 0時,確認號無效。psh push function 若為1時,代表要...