gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

一起來理解Java中的泛型

本篇文章給大家?guī)砹岁P(guān)于java的相關(guān)知識,其中主要介紹了關(guān)于泛型的相關(guān)問題,包括了自定義泛型類、自定義泛型方法、自定義泛型接口等等內(nèi)容,下面一起來看一下,希望對大家有幫助。

一起來理解Java中的泛型

推薦學習:《java視頻教程》

  • 泛型:是JDK5中引入的特性,可以在編譯階段約束操作的數(shù)據(jù)類型,并進行檢查。
  • 泛型的格式:<數(shù)據(jù)類型>,注意:泛型只能支持引用數(shù)據(jù)類型
  • 集合體系的全部接口和實現(xiàn)類都是支持泛型的使用的。

優(yōu)點:

  • 統(tǒng)一數(shù)據(jù)類型。
  • 把運行的問題提前到編譯期間,避免了強制類型轉(zhuǎn)換可能出現(xiàn)的問題,因為編譯階段類型便可以確定下來。
public static void main(String[] args) {         List<String> list = new ArrayList<>();         list.add("石原里美");         list.add("工藤靜香");         list.add("朱茵");         for (String s : list) {             System.out.println(s);         }     } 輸出結(jié)果: 石原里美 工藤靜香 朱茵

并且泛型還可以在很多地方進行定義,比如在類后面就是泛型類、方法聲明上就是泛型方法、接口后面就是泛型接口。接下來我們共同來學習一下這些泛型是如何使用的:

自定義泛型類

概念

  • 定義類的同時定義了泛型的類就是泛型類。
  • 泛型類的格式:修飾符 class 類名<泛型變量> { }
public class MyArrayList<E>{    }
  • 作用:編譯階段可以指定數(shù)據(jù)類型,類似于集合的作用

實戰(zhàn)教學

現(xiàn)創(chuàng)建一個泛型類,實現(xiàn)基本的增加、刪除操作,以此來具體了解其用法:

//泛型類MyArrayLIst public class MyArrayLIst<E> {     public void add(E e){      }     public void remove(E e){      } } //main public static void main(String[] args) {         MyArrayLIst<String> list = new MyArrayLIst<>();         //通過對泛型的設(shè)定,實現(xiàn)對數(shù)據(jù)專一處理         list.add("石原里美");         list.add("工藤靜香");         list.remove("工藤靜香");     }

泛型類的原理:

把出現(xiàn)泛型變量的地方全部替換成傳輸?shù)恼鎸嵉臄?shù)據(jù)類型。

通過認真觀察,其實不難去發(fā)現(xiàn),泛型類與普通類的最大區(qū)別在于在調(diào)用方法的時候可以統(tǒng)一的對同一種數(shù)據(jù)進行處理,不會涉及到其他的數(shù)據(jù)類型,從一定程度上避免了強制類型轉(zhuǎn)化時可能會出現(xiàn)的問題。

一起來理解Java中的泛型

自定義泛型方法

概念

  • 定義方法的同時定義了泛型的方法就是泛型方法。
  • 泛型方法的格式:修飾符<泛型變量> 返回值類型 方法名(形參列表){ }
public <E> void view(E e){    }
  • 作用:方法中可以使用泛型接收一切實際類型的參數(shù),方法更具備通用性。
  • 注意:泛型方法需要區(qū)別于泛型類中所定義的方法,雖然它們也在使用泛型,但是該泛型不是其定義的,而是泛型類定義的。

實戰(zhàn)教學

無論傳入何種類型的數(shù)組,都可以返回它的內(nèi)容,即實現(xiàn)Arrays.toString()的作用

public static void main(String[] args) {         String [] name = {"石原里美","工藤靜香","朱茵"};         view(name);         Integer [] age = {18,19,20};         view(age);     }     public static  <T> void view(T[] arr){         StringBuilder list = new StringBuilder();         for (int i = 0; i < arr.length; i++) {             list.append(arr[i]).append("t");         }         System.out.println(list);     }

通過實現(xiàn)對泛型方法的定義,可以實現(xiàn)多種數(shù)據(jù)類型的接收,應(yīng)用范圍更加廣泛。

自定義泛型接口

概念

  • 使用泛型定義的接口就是泛型接口。
  • 泛型接口的格式:public interface People<E>{ }
public interface People <E>{    }
  • 作用:泛型接口可以讓實現(xiàn)類選擇當前功能需要操作的數(shù)據(jù)類型

實戰(zhàn)教學

定義一個People接口,實現(xiàn)對老師Teacher類、學生Student等類的操作

//People接口 public interface People <E>{     void run(E e);     void height(E e); } //Student類 public class Teacher {  } //實現(xiàn)類Fantype public class Fantype implements People<Teacher> {      @Override     public void run(Teacher teacher) {      }      @Override     public void height(Teacher teacher) {      } }

通過對上述代碼的觀察,可以發(fā)現(xiàn),People后定義的是什么類型,那么該實現(xiàn)類只能對該種數(shù)據(jù)類型進行操作,其他類型不可以進行此操作。

通配符和上下限

通配符

  • ?可以在“使用泛型”的時候代表一切類型
  • E T K V是在定義泛型的時候用的

假設(shè)現(xiàn)在有一場為學生和老師而舉辦的比賽,需要比較速度究竟誰更快,分別創(chuàng)建一定數(shù)量的對象并將其傳入集合之中。然而當我們將這兩個集合分別傳入方法中的時候,會發(fā)現(xiàn),學生對象集合list2出現(xiàn)報錯,為什么呢?原因是因為數(shù)據(jù)類型不同,那么該如何使得兩種類型都可以傳入呢?或許這個時候就會有人說了:“既然兩個類都是People的子類,那么為什么不定義它的泛型是People呢?”這個想法很好,但是我們需要明確一點的是子類與父類雖然是有關(guān)系的,但是定義之后的集合是沒有關(guān)系的,所以這里是行不通的。

//main //老師對象集合 ArrayList<Teacher> list1 = new ArrayList<>(); list1.add(new Teacher()); list1.add(new Teacher()); pk(list1); //學生對象集合 ArrayList<Student> list2 = new ArrayList<>(); list2.add(new student()); list2.add(new student()); pk(list2);//由于pk方法的形參是泛型為Teacher的集合,所以會報錯 //父類 class People{      } //子類 class Teacher extends People{      } class student extends People{      } //pk方法: public static void pk(ArrayList<Teacher> people){ }

應(yīng)對這個問題,我們可以便可以將本篇文章引入的知識“通配符”放在實際應(yīng)用中解決問題了,通過其簡短的概念“?可以在‘使用泛型’的時候代表一切類型”就可以理解其作用了,這里我們可以使用“?”共同代表兩種類型。

public static void pk(ArrayList<?> people){ //通過通配符?便可以將這個問題解決掉     }

上下限

然而此時又出現(xiàn)一個問題,定義了一個dog類,試圖創(chuàng)建一些對象并傳入集合中混入比賽,這種當然情況當然是不允許發(fā)生的,然而?是可以表示任意類型的,并不能對其進行限制。因此上下限的作用就體現(xiàn)出來了:

  • 上限:<? extends 父類>,傳入類型必須是該父類或者是父類的子類
  • 下限:<? super 子類>,傳入類型必須是該子類或者是子類的父類
public static void pk(ArrayList<? extends People> people){ //通過上下限便可以將這個問題解決掉 //要求傳入的類型必須是People的子類才可以     }

推薦學習:《java視頻教程》

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
国语对白做受xxxxx在线中国| 国产免费成人在线| 另类小说色综合| 少妇人妻在线视频| 成人一区二区av| 一级全黄肉体裸体全过程| 黄色片在线免费| 成人3d动漫一区二区三区| 无码精品国产一区二区三区免费| youjizz.com在线观看| 日韩中文在线字幕| 日本熟妇人妻xxxx| 欧美精品久久久久久久久久久| 精品亚洲一区二区三区四区| 手机看片福利日韩| 亚洲激情免费视频| 亚洲免费999| 青娱乐精品在线| 欧洲金发美女大战黑人| 欧美少妇一区二区三区| 六月婷婷激情网| 日韩精品一区二区免费| 波多野结衣av一区二区全免费观看| 欧美爱爱视频网站| 免费看欧美一级片| 午夜精品在线免费观看| 波多野结衣三级在线| 91免费国产精品| 日本成年人网址| 久久出品必属精品| 少妇人妻在线视频| 九九九九九九九九| 97超碰国产精品| 欧美视频免费播放| 亚洲精品成人在线播放| 日韩一级免费看| 无码少妇一区二区三区芒果| 一起操在线视频| av在线免费观看国产| 久久精品.com| 日韩最新中文字幕| 精品国产成人av在线免| 福利网在线观看| 黄色a级片免费| 一级性生活视频| 色婷婷狠狠18| 日本久久久精品视频| 在线观看成人免费| 天天影视综合色| 免费看黄在线看| 久章草在线视频| 播放灌醉水嫩大学生国内精品| 香蕉视频xxxx| 在线视频观看91| 久草青青在线观看| 国产树林野战在线播放| 咪咪色在线视频| 污污网站在线观看视频| 久久久噜噜噜www成人网| 日韩亚洲欧美一区二区| 国产一区二区在线观看免费视频| 欧洲精品一区二区三区久久| 天天操夜夜操很很操| 国产aaaaa毛片| 国产裸体舞一区二区三区| 97久久国产亚洲精品超碰热| 久国产精品视频| 高潮一区二区三区| 在线视频日韩一区| 一区二区三区入口| 天堂社区在线视频| 国产精品视频分类| 波多野结衣xxxx| 亚洲另类第一页| 五月天激情播播| 亚洲精品免费一区亚洲精品免费精品一区| 久久国产色av免费观看| 农村妇女精品一二区| 91精品91久久久中77777老牛| 欧洲精品在线播放| 九一免费在线观看| 成年人网站国产| 欧美日本视频在线观看| 欧美视频在线播放一区| 免费裸体美女网站| 天天干天天爽天天射| 一级片黄色免费| 亚洲欧美日韩不卡| 天堂av在线中文| 久久久999视频| 亚洲精品自拍网| 99久re热视频精品98| 怡红院av亚洲一区二区三区h| 国产wwwxx| 国产真人做爰毛片视频直播| 91九色在线观看视频| 国产三级精品三级在线| 美女黄色免费看| 久久久久久综合网| 水蜜桃色314在线观看| 日本一极黄色片| 日日夜夜精品视频免费观看| 国产精品久久久影院| 国产 福利 在线| 久久精品国产露脸对白| www.av91| 一区二区三区一级片| 久在线观看视频| 久久久九九九热| 日本网站免费在线观看| 久久久福利影院| 欧美成人免费高清视频| 午夜免费福利网站| 国产又大又硬又粗| 狠狠精品干练久久久无码中文字幕| 精品视频一区二区在线| 91xxx视频| 亚洲18在线看污www麻豆| 2022亚洲天堂| 自慰无码一区二区三区| 狠狠干视频网站| 亚洲第一精品区| 一道本在线免费视频| 精品视频一区二区在线| 日本免费不卡一区二区| 分分操这里只有精品| 日本中文字幕一级片| 欧美日韩在线免费观看视频| 亚洲三级视频网站| 日本新janpanese乱熟| 人人妻人人添人人爽欧美一区| 日韩精品一区二区在线视频| 国产香蕉一区二区三区| 国内外成人激情免费视频| 免费久久久久久| 老司机午夜网站| 亚洲涩涩在线观看| www.日本一区| 国产一二三区av| 特黄视频免费观看| 日本中文字幕观看| 亚洲欧美日韩不卡| 99国产精品白浆在线观看免费| 手机在线免费毛片| 992tv成人免费观看| 天天干天天玩天天操| 久久这里只有精品8| 国产日本欧美在线| 青青视频免费在线| 欧美日韩一道本| 国产真人无码作爱视频免费| aaaaaa亚洲| 加勒比av中文字幕| 看一级黄色录像| aa在线观看视频| xxxx一级片| 国产又粗又猛又爽又黄的网站 | 乱妇乱女熟妇熟女网站| 粗暴91大变态调教| 青娱乐国产精品视频| 黄色三级中文字幕| 国产第一页视频| 亚洲av无日韩毛片久久| 精品少妇人妻av免费久久洗澡| 成人久久久久久久久| 激情黄色小视频| 成人一区二区免费视频| 日韩免费高清在线| 99视频在线观看视频| 亚洲精品蜜桃久久久久久| 亚洲最大综合网| 久久国产精品视频在线观看| 一区二区三区 欧美| 欧美视频在线观看视频| 高清一区二区视频| 色欲色香天天天综合网www| 国产免费又粗又猛又爽| 国自产拍偷拍精品啪啪一区二区| 欧美 日韩 国产 激情| 日韩国产成人无码av毛片| 国产3p在线播放| 欧美一级黄色影院| 国产xxxx振车| 欧洲在线免费视频| 8x8x最新地址| 国产精品亚洲a| 尤物av无码色av无码| 桥本有菜av在线| 青青草原国产在线视频| 亚州精品一二三区| 无码人妻丰满熟妇区毛片| 日韩人妻一区二区三区蜜桃视频| 中文字幕第100页| 国产三区在线视频| 夫妻免费无码v看片| 日本黄大片在线观看| 在线观看免费av网址| 亚洲午夜精品久久久久久人妖| 男女爱爱视频网站| 丰满人妻一区二区三区53号 |