国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - Java中泛型的用法總結

Java中泛型的用法總結

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

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

本文實例總結了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>()是錯誤的。
如果上面是正確的,那么:

?
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轉換為string將失敗。

3 wildcards

因為2的原因,下面的實現用于統配集合的輸出是不行的

?
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

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

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

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

4. 泛型方法

上例可以實現為:

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

編譯器在保證語義的前提,會幫忙做類型的轉換工作。

5. 泛型運行時的對比

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

因為泛型類運行時時一樣的。

6 泛型數組(可能導致類型不安全)

 

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

 

如果可以的話,可能導致類型不安全。如:

?
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

希望本文所述對大家的java程序設計有所幫助。

延伸 · 閱讀

精彩推薦
512
主站蜘蛛池模板: 午夜影晥 | 91精品视频导航 | 国产成人精品一区二区三区四区 | 国产精品九九九 | 91久久精品 | 久久久久久久久久久久久久免费看 | 久久精品国产一区二区三区不卡 | 欧美视频一二三区 | 一区免费看 | 中文字幕日韩欧美一区二区三区 | 国产一级特黄 | 免费观看日韩 | 伊人久久综合影院 | 国产一在线 | 国产精品成av人在线视午夜片 | 日韩精品免费在线视频 | 欧美午夜精品久久久久久人妖 | 一区亚洲 | 天天久久 | 久久一级淫片 | 这里只有精品视频 | 毛片黄视频 | 婷婷精品久久久久久久久久不卡 | 玖玖精品| 一区二区在线 | 91视频网页| 欧美亚洲国产一区二区三区 | 国产毛片在线 | 性毛片 | 在线播放国产精品 | 九九热精品视频在线观看 | 在线观看91视频 | av黄色影院| 欧美国产日韩在线 | 亚洲欧美在线视频 | 日韩专区中文字幕 | av在线综合网 | 亚洲精品无码专区在线播放 | 亚洲精品日本 | 6080yy午夜一二三区久久 | 日本69视频|