国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

黑馬程序員_Java泛型

2019-11-14 15:42:32
字體:
來源:轉載
供稿:網友

泛型

概述:

ClassCaseException:類型轉換異常。

代碼中不加泛型,編譯沒問題,運行可能會發生異常。但是用戶解決不了,這樣程序就存在安全隱患。所以我們希望在編譯時期就能看出問題,程序員解決看后到運行時期就沒有問題了。

問題產生的原因:往集合里面存了不同元素造成的。

泛型:JDK1.5版本以后出現新特性,用于解決安全問題,是一個類型安全機制。

好處:

1,將運行時期出現問題ClassCastException,轉移到了編譯時期,方便于程序員解決問題。讓運行事情問題減少,安全。

2,避免了強制轉換麻煩。

 泛型格式:通過<>來定義要操作的引用數據類型。

在使用java提供的對象時,什么時候寫泛型呢?通常在集合框架中很常見,只要見到<>就要定義泛型。其實<>就是用來接收類型的。

當使用集合時,將集合中要存儲的數據類型作為參數傳遞到尖括號中即可。

什么時候定義泛型類?

當類中要操作的引用數據類型不確定時,早期定義Object來完成擴展,現在定義泛型類完成擴展。

泛型定義在類上:泛型類定義的泛型,在整個類中有效,如果被方法使用,那么泛型類的對象明確要操作的具體類型后,所有要操作的類型就已經固定了。

泛型定義在方法上:為了讓不同的方法可以操作不同類型,而且類型還不確定,那么可以將類型定義在方法上。

注意泛型定義在方法上,是放在返回值類型的前面,修飾符的后面。

注意特殊之處:靜態方法不可以訪問類上定義的泛型。如果靜態方法操作的引用數據類型不明確,可以將泛型定義在方法上。(靜態泛型不能隨著類的泛型走)

泛型定義在接口上。見到帶泛型的內容的時候,用的時候往里面傳參數。這個應用一般不多見,是Java定義好就直接拿來用。

 泛型的高級應用(泛型限定)

當我們創建兩個操作不同類型的集合時,不需要寫兩個迭代器。

“?”:通配符。也可以理解為占位符。

泛型的限定:是用于泛型擴展用的。

1,? extends E: 可以接收E類型或者E的子類型。(上限)

2,? super E : 可以接收E類型或者E的父類型。(下限)

 

 

 

 

 

 

 

。。。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涡阳县| 卢龙县| 政和县| 依兰县| 南昌县| 土默特左旗| 固安县| 南丹县| 蕉岭县| 双鸭山市| 柳林县| 两当县| 新乡市| 左贡县| 湘潭市| 汉阴县| 柳河县| 玉环县| 固阳县| 高台县| 花莲市| 吉首市| 泰州市| 南木林县| 尼玛县| 松阳县| 石泉县| 金秀| 肥东县| 鲁山县| 北碚区| 监利县| 桃江县| 安溪县| 鹤峰县| 北安市| 晋州市| 龙泉市| 岳阳县| 康保县| 郓城县|