<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    java 泛型

    文檔

    java 泛型

    Java泛型是JDK 5中引入的一個新特性,泛型提供了編譯時類型安全監測機制,該機制允許程序員在編譯時監測非法的類型,泛型的本質是參數化類型,也就是所操作的數據類型被指定為一個參數。
    推薦度:
    導讀Java泛型是JDK 5中引入的一個新特性,泛型提供了編譯時類型安全監測機制,該機制允許程序員在編譯時監測非法的類型,泛型的本質是參數化類型,也就是所操作的數據類型被指定為一個參數。

    很多朋友都想知道java 泛型是什么?下面就一起來了解一下吧~

    Java泛型是JDK 5中引入的一個新特性,泛型提供了編譯時類型安全監測機制,該機制允許程序員在編譯時監測非法的類型,泛型的本質是參數化類型,也就是所操作的數據類型被指定為一個參數。

    泛型的使用

    泛型有三種常用的使用方式:泛型類,泛型接口和泛型方法。下面講一一簡單介紹這三種使用方法:泛型類

    一個泛型類(generic class)就是具有一個或多個類型變量的類。下面通過一個簡單的Pair類作為例子。對于這個類來說,我們只關注泛型,而不會為數據存儲的細節煩惱。下面是Pair類的代碼:

    /*
    ?*?泛型類
    ?*?Java庫中?E表示集合的元素類型,K?和?V分別表示表的關鍵字與值的類型
    ?*?T(需要時還可以用臨近的字母?U?和?S)表示“任意類型”
    ?*/public?class?Pair?{
    ????
    ????private?T?name;
    ????private?T?price;
    
    ????public?Pair()?{
    ????}
    
    ????public?Pair(T?name,?T?price)?{
    ????????this.name?=?name;
    ????????this.price?=?price;
    ????}
    
    ????public?T?getName()?{
    ????????return?name;
    ????}
    
    ????public?void?setName(T?name)?{
    ????????this.name?=?name;
    ????}
    
    ????public?T?getPrice()?{
    ????????return?price;
    ????}
    
    ????public?void?setPrice(T?price)?{
    ????????this.price?=?price;
    ????}}

    Pair類引入了一個類型變量T,用尖括號(<>)括起來,并放在類名的后面。泛型類可以有多個類型變量。例如,可以定義Pair類,其中第一個域和第二個域使用不同的類型:

    public?class?Pair?{?...?}

    類方法中的類型變量指定方法的返回類型以及域和局部變量的類型。例如:

    private?T?first;?//uses?the?type?variable

    用具體的類型替換類型變量就可以實例化泛型類型,例如:

    Pair

    可以將結果想象成帶有構造器的普通類:

    Pair()Pair(String,String)

    和方法:

    String?getName()String?getPrice()void?setName(String)void?setPrice(String)
    泛型接口
    public?interface?Generator?{
    
    ????public?T?next();}

    繼承接口:

    public?class?FruitGenerator?implements?Generator?{
    
    ????@Override
    ????public?String?next()?{
    ????????return?"Fruit";
    ????}}

    或者也可以這樣:

    public?class?FruitGenerator?implements?Generator?{
    
    ????private?T?next;
    
    ????public?FruitGenerator(T?next)?{
    ????????this.next?=?next;
    ????}
    
    ????@Override
    ????public?T?next()?{
    ????????return?next;
    ????}
    
    ????public?static?void?main(String[]?args){
    ????????FruitGenerator?fruit?=?new?FruitGenerator<>("Fruit");
    ????????System.out.println(fruit.next);
    ????}}

    泛型方法

    這個方法是在普通類中定義的,而不是在泛型類中定義的。然而,這是一個泛型方法,可以從尖括號和類型變量看出這一點。注意,類型變量放在修飾符(這里是?public static)的后面,返回類型的前面。

    以上就是小編今天的分享,希望能幫到大家~

    文檔

    java 泛型

    Java泛型是JDK 5中引入的一個新特性,泛型提供了編譯時類型安全監測機制,該機制允許程序員在編譯時監測非法的類型,泛型的本質是參數化類型,也就是所操作的數據類型被指定為一個參數。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    python range函數 linux ftp js 字符串轉數字 電腦忘記開機密碼怎么辦 兩個二維碼怎么拼一起 怎樣查看微信刪除的聊天記錄 微信掃碼不能掃了怎么辦 微信恢復刪除的聊天記錄 拼多多拒收在哪里操作 abstract java 交管12123怎么查科目一分數 antlr java ajax java ansible java aspect java 怎樣改抖音名字的昵稱 assert java asterisk java axis java bitset java java json java final java foreach java hashmap java lambda java random java stream java filereader maven安裝配置 idea的maven配置 python 引用 js數組遍歷方法 js json對象 js 遍歷json java concat python調用dll python strip函數 python configparser模塊 oracle coalesce rstudio使用教程
    Top 国产SUV精品一区二区四| 精品乱人伦一区二区三区| 999在线视频精品免费播放观看 | 国产午夜精品久久久久免费视| 国产成人精品久久亚洲高清不卡| 久久国产精品77777| 华人在线精品免费观看| 国产A级毛片久久久精品毛片| 精品国产精品国产| 网友自拍区视频精品| 久久精品无码一区二区无码 | 91国内揄拍国内精品对白| 精品国产_亚洲人成在线高清| 亚洲日韩中文在线精品第一| 国产精品冒白浆免费视频| 精品无码人妻一区二区三区18| 久久久久国产精品人妻| 99精品国产高清自在线看超| 亚洲日韩精品无码一区二区三区| 国产精品成人国产乱一区| 精品一区二区三区视频在线观看| 国产精品久久久久久久久久久不卡| 中文字幕日韩精品麻豆系列 | 亚洲精品成人网站在线观看| 国产区精品高清在线观看| 青春草无码精品视频在线观| 国产精品66在线观看| 成人国产精品2021| 成人国产精品一区二区网站公司| 中文字幕无码精品亚洲资源网久久| 亚洲国产精品无码久久久| 91精品国产色综合久久不 | 日韩精品亚洲aⅴ在线影院| 国产精品无码v在线观看| 免费视频成人国产精品网站| 精品三级66在线播放| sihu国产精品永久免费| 四虎成人精品在永久在线| jazzjazz国产精品一区二区| 亚洲国产综合精品中文字幕| 国产精品尹人在线观看|