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

站長資訊網
最全最豐富的資訊網站

一起來理解Java中的泛型

本篇文章給大家帶來了關于java的相關知識,其中主要介紹了關于泛型的相關問題,包括了自定義泛型類、自定義泛型方法、自定義泛型接口等等內容,下面一起來看一下,希望對大家有幫助。

一起來理解Java中的泛型

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

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

優點:

  • 統一數據類型。
  • 把運行的問題提前到編譯期間,避免了強制類型轉換可能出現的問題,因為編譯階段類型便可以確定下來。
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);         }     } 輸出結果: 石原里美 工藤靜香 朱茵

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

自定義泛型類

概念

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

實戰教學

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

//泛型類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<>();         //通過對泛型的設定,實現對數據專一處理         list.add("石原里美");         list.add("工藤靜香");         list.remove("工藤靜香");     }

泛型類的原理:

把出現泛型變量的地方全部替換成傳輸的真實的數據類型。

通過認真觀察,其實不難去發現,泛型類與普通類的最大區別在于在調用方法的時候可以統一的對同一種數據進行處理,不會涉及到其他的數據類型,從一定程度上避免了強制類型轉化時可能會出現的問題。

一起來理解Java中的泛型

自定義泛型方法

概念

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

實戰教學

無論傳入何種類型的數組,都可以返回它的內容,即實現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);     }

通過實現對泛型方法的定義,可以實現多種數據類型的接收,應用范圍更加廣泛。

自定義泛型接口

概念

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

實戰教學

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

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

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

通配符和上下限

通配符

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

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

//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){ }

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

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

上下限

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

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

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

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
www.欧美日本| xxxx一级片| 天天做天天干天天操| www黄色在线| 美女日批免费视频| 国产日产欧美一区二区| 91av视频免费观看| 国产精品少妇在线视频| youjizz.com在线观看| 97人人模人人爽人人澡| 一道本在线免费视频| 男人插女人下面免费视频| 精品久久一二三| 大j8黑人w巨大888a片| 中文字幕人妻熟女人妻洋洋| 好色先生视频污| 992kp免费看片| 欧美一级免费在线| 丰满女人性猛交| 99中文字幕在线观看| 永久免费网站视频在线观看| 人人妻人人澡人人爽精品欧美一区| 韩国视频一区二区三区| 99视频精品免费| 天天看片天天操| 国产精品嫩草影院8vv8| 992kp免费看片| 特级黄色录像片| 99在线免费视频观看| 人妻久久久一区二区三区| 佐佐木明希av| 久在线观看视频| 日日噜噜噜噜久久久精品毛片| 五月天婷婷激情视频| 亚洲精品第三页| 国产激情片在线观看| 久久这里只有精品18| 一二三四视频社区在线| www.色偷偷.com| 国产精品美女在线播放| 六月婷婷在线视频| 一级黄色片国产| www.国产在线视频| 日韩免费高清在线| 亚洲一区 在线播放| 老太脱裤让老头玩ⅹxxxx| 久久久精品三级| 久久这里只有精品8| 欧美两根一起进3p做受视频| www.久久91| 亚洲国产精品成人天堂| 久久久噜噜噜www成人网| 欧美三级理论片| 国产又爽又黄ai换脸| 久久久999视频| 异国色恋浪漫潭| 在线观看av日韩| 亚洲精品无码国产| 亚洲欧美日韩精品一区| 成人在线观看你懂的| 四季av一区二区| 加勒比成人在线| 亚洲天堂国产视频| 手机看片福利日韩| 久久久999免费视频| 91性高潮久久久久久久| wwww.国产| 蜜臀av午夜一区二区三区| 欧美性猛交内射兽交老熟妇| 搡女人真爽免费午夜网站| 免费一级特黄特色毛片久久看| 超碰成人在线播放| wwwwwxxxx日本| 少妇人妻互换不带套| 黄色影院一级片| 国产免费黄色一级片| 免费cad大片在线观看| 欧美成人福利在线观看| 91制片厂毛片| av在线网址导航| 91插插插插插插插插| 午夜免费精品视频| 亚洲理论中文字幕| 99久re热视频精品98| 男人天堂a在线| 丁香婷婷激情网| 亚洲欧美天堂在线| av日韩一区二区三区| 凹凸日日摸日日碰夜夜爽1| 搡女人真爽免费午夜网站| 中文字幕22页| 成人免费在线视频播放| 中文字幕无码精品亚洲35| 久久久国产欧美| 水蜜桃在线免费观看| 丝袜老师办公室里做好紧好爽| 男女啪啪网站视频| 久久久天堂国产精品| 老熟妇仑乱视频一区二区 | 亚洲色成人一区二区三区小说| 免费av网址在线| 亚洲性生活网站| 国产高清精品软男同| 超碰免费在线公开| 日韩五码在线观看| 色戒在线免费观看| 亚洲成人动漫在线| 成人免费在线网| www日韩视频| 久久久久久久久影视| 精品无码av无码免费专区| 日韩精品久久一区二区| 亚洲人成色77777| 特级西西444www| 2021狠狠干| 精品欧美一区免费观看α√| 亚洲小视频网站| 97干在线视频| 国产九九在线观看| 日产精品久久久久久久蜜臀| 日韩av片网站| 日韩极品视频在线观看| 50路60路老熟妇啪啪| 在线观看免费黄网站| 免费毛片小视频| 9l视频自拍9l视频自拍| 欧美国产亚洲一区| 丁香六月激情网| 亚洲一二三不卡| 免费在线观看日韩视频| 免费看污污视频| 日韩a级黄色片| 日韩一区二区三区久久| 国产免费一区二区视频| 在线免费看v片| 亚洲视频在线观看一区二区三区| 色姑娘综合天天| 熟女少妇精品一区二区| 日本www在线播放| 黄色a级片免费看| 激情成人在线观看| 日韩极品视频在线观看| 拔插拔插海外华人免费| 8x8x最新地址| 日韩a在线播放| 日本一道本久久| 国产 国语对白 露脸 | 久久久一二三四| 天天操天天摸天天爽| 日韩亚洲欧美视频| 成人性生生活性生交12| 九一精品久久久| 日韩精品视频一二三| 爱情岛论坛vip永久入口| 女人高潮一级片| 爽爽爽在线观看| 国产成年人视频网站| 免费观看黄色大片| 男人草女人视频| 白白操在线视频| www亚洲成人| 可以看毛片的网址| 久久国产精品网| 成人一级生活片| 牛夜精品久久久久久久| 三级视频中文字幕| 亚洲一区二区蜜桃| 看全色黄大色大片| 五十路熟女丰满大屁股| 日韩a级在线观看| 久久免费一级片| 亚洲成人福利在线| 欧美成人乱码一二三四区免费| 久久久久xxxx| 国产原创popny丨九色| 国产日产欧美视频| 国产av人人夜夜澡人人爽| aaa免费在线观看| 国精产品一区一区三区视频| 成人免费毛片网| 91精品91久久久中77777老牛| 免费黄频在线观看| 久久久久久久9| 四虎永久在线精品无码视频| 国产日韩欧美大片| 岳毛多又紧做起爽| 最新av在线免费观看| 鲁一鲁一鲁一鲁一av| 男人j进女人j| 日本熟妇人妻中出| 成年人黄色片视频| 国产免费xxx| 国产又猛又黄的视频| 日本精品免费在线观看| 超碰在线超碰在线| 亚洲人成无码www久久久| 91视频最新入口| 午夜探花在线观看| 激情五月亚洲色图| 天天爱天天操天天干|