泛型好處:
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時,代表要...