日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中泛型上限,下限应用

發布時間:2025/3/8 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中泛型上限,下限应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
v 一.程序中無形之中用到的泛型 import java.util.*; class Person implements Comparable<Person>{String name;int age;Person(){name = "";age = 0;}Person(String name, int age){this.name = name;this.age = age;}public String toString(){return name + "...." + age;}public int compareTo(Person o){if(name.compareTo(o.name)==0)return o.age - age;return o.name.compareTo(name);} }class Student extends Person{int score;public Student(){super();}public Student(String name, int age, int score){super(name, age);this.score = score;}public String toString(){return name + "...." + age + "...." + "score: " + score;} }class Worker extends Person{int salary;public Worker(){super();}public Worker(String name, int age, int salary){super(name, age);this.salary = salary;}public String toString(){return name + "...." + age + "...." + "salary: " + salary;} }class ComparatorPerson implements Comparator<Person>{public int compare(Person o1, Person o2){if(o1.name.compareTo(o2.name)==0)return o1.age - o2.age;return o1.name.compareTo(o2.name);} }public class Test{public static void main(String[] args){ArrayList<Person> arr = new ArrayList<Person>();arr.add(new Person("hujunzheng", 22));arr.add(new Person("caihaibin", 21));arr.add(new Person("huangweidong", 22));ArrayList<Student> arr1 = new ArrayList<Student>();arr1.add(new Student("hujunzheng", 22, 500));arr1.add(new Student("caihaibin", 21, 444));arr1.add(new Student("huangweidong", 22, 777));ArrayList<Worker> arr2 = new ArrayList<Worker>();arr2.add(new Worker("789", 22, 500));arr2.add(new Worker("465", 21, 444));arr2.add(new Worker("798", 22, 777));//public boolean addAll(Collection<? extends E> c)// 泛型的上限:用于存儲的數據// 如果不是<? extends E> 而只是<E> 那么E的子類型就不能加載進來!因為Collection<Person> 和 ArrayList<Student>泛型管理的不是同一數據類型// 而 <? extends E> 要求傳進來的對象實例管理的泛型只要是 E 或者是 E的子類都行! arr.addAll(arr1);arr.addAll(arr2);Object[] oo = null;Arrays.sort(oo=arr.toArray());for(Object o : oo)System.out.println(o);//public TreeSet(Comparator<? super E> c); 傳遞的是比較泛型為 E 或者是 E的父類的比較器//在進行 E類型兩個數據比較的時候, 用 E類 或者 E類型的父類型進行接收,并使用 ?類型的定義的比較方式! System.out.println("泛型上限,下限...................................................");TreeSet<Worker> tw = new TreeSet<Worker>(new ComparatorPerson());// E 是 Worker, 傳遞的是其父類Person的比較器 tw.addAll(arr2);for(Iterator it = tw.iterator(); it.hasNext(); )System.out.println(it.next());TreeSet<Student> ts= new TreeSet<Student>(new ComparatorPerson());// E 是 Student, 傳遞的是其父類Person的比較器 ts.addAll(arr1);for(Object o : ts.toArray())System.out.println(o);//上述的Worker 和 Student在TreeSet中排序時使用的比較器都是Person類實現的比較器 } } v 二.簡單的理解

?

ArrayList<Person> alist = new ArrayList<Person>(); ArrayList<? extends Person> list = new ArrayList<Student>(); alist.addAll(list);
Person p = new Person();
Student s = new Student();
//compile error
list.add(p);或者 list.add(s);

一般來講,定義成<? extends T>的參數通常只能用來從里面取數據,而不能用add方法添加數據。

ArrayList<? super Person> list = new ArrayList<Person>(); Student s = new Student(); list.add(s); s = (Student) list.get(0);

而定義成<? super T>的參數是可以用add方法來進行數據的添加的。它接受的 T類型或者T的父類,為什么Student是Person的子類但是仍能接受呢?因為在加入的時候講Sutdent進行了向上轉型為Object,這就是為什么在取出元素的時候是Object類型了!

轉載于:https://www.cnblogs.com/hujunzheng/p/3872633.html

總結

以上是生活随笔為你收集整理的java中泛型上限,下限应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人性视频在线 | 91av一区| 李宗瑞91在线正在播放 | 成人片在线看 | 91成人在线 | www.777奇米影视 | 韩国美女主播跳舞 | 爱看av | 免费不卡av | 欧美成人乱码一二三四区免费 | 国产精品高潮呻吟久久av黑人 | 古装三级吃奶做爰 | 波多野结衣视频在线看 | 亚洲精品国产精品国自产观看浪潮 | 成人a v视频| 欧洲黄色网 | 黄色69视频 | 国产精品白嫩极品美女视频 | 黄瓜视频在线观看 | 午夜精品一区二区三区在线观看 | 91在线观看免费高清完整版在线观看 | 性做久久久久久久 | 欧美日韩一区免费 | 在线观看av片 | 爱情岛论坛成人av | 欧美色欧美 | 什么网站可以看毛片 | 在线视频精品一区 | 清冷男神被c的合不拢腿男男 | 女人被男人躁得好爽免费视频 | 中文字幕亚洲在线 | www毛片com | 长篇乱肉合集乱500小说日本 | 亚洲一区二区三区电影在线观看 | 国产黄色片免费在线观看 | 欧美精品一区二区在线播放 | 色狠狠一区| 男人的天堂aa | 国产视频黄色 | 成人av网址在线 | 亚洲痴女 | 尤物国产视频 | 男人插入女人下面的视频 | 午夜激情一区二区 | 国产欧美日韩一区二区三区 | 嫩草视频在线免费观看 | 免费看日产一区二区三区 | 天天躁狠狠躁狠狠躁夜夜躁68 | 中文字幕+乱码+中文乱 | 五月天校园春色 | 欧美女优一区 | 精品国产av色一区二区深夜久久 | 69国产 | 区一区二视频 | 福利视频网址 | 黄色三级av| 亚洲人视频在线观看 | 亚洲精品乱码久久久久久按摩观 | 永久免费无码av网站在线观看 | 91女人18毛片水多国产 | av激情小说 | 大桥未久在线视频 | 欧美少妇精品 | 久久久无码精品亚洲无少妇 | 91视频在线观看视频 | 国产99久久 | 米奇色 | 欧美日本另类 | 无码人妻av免费一区二区三区 | 女生被男生c | 日韩一区在线免费观看 | 伊人9| 中文字幕日日夜夜 | 日日草草| 国产网站一区 | 九色婷婷 | 不卡中文字幕 | www.亚洲一区| www.成人在线 | 美女扒开腿让人桶爽 | 嫩草视屏 | 麻豆91在线播放 | 午夜xx| 国产精品国产三级国产普通话蜜臀 | 窝窝视频在线 | 夫妻性生活黄色片 | 天堂视频免费在线观看 | 午夜老湿机| 亚洲精品视频一二三区 | 欧美大片xxxx | 久久色播| 成人视屏在线 | 国内久久精品视频 | 牛牛在线 | 午夜在线观看影院 | 精品久久久久亚洲 | 特黄特色特刺激免费播放 | 日韩一区二区免费看 | 国产露脸国语对白在线 |