一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java中泛型的用法總結(jié)

Java中泛型的用法總結(jié)

2019-12-20 14:41liuzx32 JAVA教程

這篇文章主要介紹了Java中泛型的用法,實(shí)例總結(jié)了java中泛型的常見使用技巧,需要的朋友可以參考下

本文實(shí)例總結(jié)了Java中泛型的用法。分享給大家供大家參考。具體如下:

1 基本使用

?
1
2
3
4
public interface List<E> {
 void add(E);
 Iterator<E> iterator();
}

2 泛型與子類

Child是Parent的子類,List<Child>卻不是List<Parent>的子類。
因此:List<Object> list = new ArrayList<String>()是錯(cuò)誤的。
如果上面是正確的,那么:

?
1
2
3
4
List<String> ls = new ArrayList<String>(); //1
List<Object> lo = ls; //2
lo.add(new Object()); // 3
String s = ls.get(0); // 4,將object轉(zhuǎn)換為string將失敗。

3 wildcards

因?yàn)?的原因,下面的實(shí)現(xiàn)用于統(tǒng)配集合的輸出是不行的

?
1
2
3
4
5
void printCollection(Collection<Object> c) {
 for (Object o: c) {
 // do something
 }
}

因此,需要通配符?:

?
1
2
3
4
5
void printCollection(Collection<?> c) {
 for (Object o: c) { // 1
 // do something
 }
} // ok

此處的?表示類型未知,但是任何對(duì)象均是Object,因此上例的1是正確的。但下例卻是錯(cuò)誤的:

?
1
2
3
void add(Collection<? extends MyClass> c) {
 c.add(new MyClass()); // wrong
} // ok

原因也很明確,? extends MyClass說明類型是MyClass的子類,但是卻并不知道具體類型

4. 泛型方法

上例可以實(shí)現(xiàn)為:

?
1
2
3
<T> add(Collection<T> c, T t) {
 c.add(t);
}

編譯器在保證語義的前提,會(huì)幫忙做類型的轉(zhuǎn)換工作。

5. 泛型運(yùn)行時(shí)的對(duì)比

?
1
2
3
List<String> l1 = new ArrayList<String>();
List<Integer> l2 = new ArrayList<Integer>();
System.out.println(l1.getClass() == l2.getClass()); // true

因?yàn)榉盒皖愡\(yùn)行時(shí)時(shí)一樣的。

6 泛型數(shù)組(可能導(dǎo)致類型不安全)

 

復(fù)制代碼 代碼如下:
List<String>[] lsa = new ArrayList<String>[10]; // error

 

如果可以的話,可能導(dǎo)致類型不安全。如:

?
1
2
3
4
5
6
Object o = lsa;
Object []oa = (Object[])o;
List<Integer> li = new ArrayList<Integer>();
li.add(new Integer(3));
oa[1] = li;
String s = lsa[1].get(0); // runtime error

希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产福利一区二区在线精品 | ferr孕妇videos毛茸茸 | 玩两个少妇女邻居 | 欧美日韩一区二区三区免费不卡 | 久久成人亚洲 | 久久婷婷五月免费综合色啪 | 久久无码人妻AV精品一区 | 精品久久99麻豆蜜桃666 | 国产剧情一区二区三区 | 97精品国产自在现线免费观看 | 美女班主任下面好爽好湿好紧 | 四虎1515hhc0m | 国产精品高清在线 | 成年人免费观看 | 欧美精品综合一区二区三区 | 2020年国产精品午夜福利在线观看 | 成人快插 | 精品视频一区在线观看 | 久久人妻少妇嫩草AV無碼 | 男人的天堂欧美 | 四虎国产免费 | chinese男同志gay免费 | 欧美三级一区 | 毛片在线播放a | 国产综合成色在线视频 | 涩涩成人 | 无码人妻精品一区二区蜜桃在线看 | 亚洲XXX午休国产熟女屁 | 456亚洲人成高清在线 | 国产偷窥女洗浴在线观看亚洲 | 92福利网 | 国产精品一区二区三区免费 | 欧美成人精品福利网站 | 日本videohd18| 胖女性大bbbbbb| 99视频全部看免费观 | 电车痴汉(han)| 超级乱淫伦小说全集np | 极品美女aⅴ高清在线观看 极品ts赵恩静和直男激战啪啪 | 美女裆部| 9久热这里只有精品视频在线观看 |