激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務器之家 - 編程語言 - Java教程 - java中generic實例詳解

java中generic實例詳解

2021-02-21 11:13indexman Java教程

這篇文章主要介紹了java中generic實例詳解,具有一定參考價值,需要的朋友可以了解下。

一介紹:

在JavaSE1.5之前,沒有泛型的情況的下,通過對類型Object的引用來實現參數的“任意化”,“任意化”帶來的缺點是要做顯式的強制類型轉換,而這種轉換是要求開發者對實際參數類型可以預知的情況下進行的。對于強制類型轉換錯誤的情況,編譯器可能不提示錯誤,在運行的時候才出現異常,這是一個安全隱患。

泛型的好處是在編譯的時候檢查類型安全,并且所有的強制轉換都是自動和隱式的,提高代碼的重用率。

二、泛型參數:

java" id="highlighter_174066">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Gen<T> {
    private T ob;
    //定義泛型成員變量
    public Gen(T ob) {
        this.ob = ob;
    }
    public T getOb() {
        return ob;
    }
    public void setOb(T ob) {
        this.ob = ob;
    }
    public void showType() {
        System.out.println("T的實際類型是: " + ob.getClass().getName());
    }
}
public class GenericParameter {
    public static void main(String[] args){
        //定義泛型類Gen的一個Integer版本
        Gen<Integer> intOb=new Gen<Integer>(100);
        intOb.showType();
        int i= intOb.getOb();
        System.out.println("value= " + i);
        System.out.println("----------------------------------");
        //定義泛型類Gen的一個String版本
        Gen<String> strOb=new Gen<String>("Hello Dylan!");
        strOb.showType();
        String s=strOb.getOb();
        System.out.println("value= " + s);
    }
}

output:

T的實際類型是: java.lang.Integer
value= 100
----------------------------------
T的實際類型是: java.lang.String
value= Hello Dylan!

三、泛型類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class GenericsFoo<T> {
    private T x;
    public GenericsFoo(T x) {
        this.x = x;
    }
    public T getX() {
        return x;
    }
    public void setX(T x) {
        this.x = x;
    }
}
public class GenericClass {
    public static void main(String args[]){
        GenericsFoo<String> strFoo=new GenericsFoo<String>("Hello Generics!");
        GenericsFoo<double> douFoo=new GenericsFoo<double>(new double("33"));
        GenericsFoo<Object> objFoo=new GenericsFoo<Object>(new Object());
        System.out.println("strFoo.getX="+strFoo.getX());
        System.out.println("douFoo.getX="+douFoo.getX());
        System.out.println("objFoo.getX="+objFoo.getX());
    }
}

output:

strFoo.getX=Hello Generics!
douFoo.getX=33.0
objFoo.getX=java.lang.Object@1d0fafc

四 限制泛型:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.ArrayList;
import java.util.Collection;
class CollectionGenFoo<T extends Collection> {
    private T x;
    public CollectionGenFoo(T x) {
        this.x = x;
    }
    public T getX() {
        return x;
    }
    public void setX(T x) {
        this.x = x;
    }
}
public class GenericRestrict {
    public static void main(String[] args) {
        CollectionGenFoo<ArrayList> listFoo = null;
        listFoo = new CollectionGenFoo<ArrayList>(new ArrayList());
        CollectionGenFoo<? extends Collection> listFoo1 = null;
        listFoo1=new CollectionGenFoo<ArrayList>(new ArrayList());
        System.out.println("實例化成功!");
    }
}

output:
實例化成功!

五 泛型方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
public class GenericFunction {
    public <T> void f(T x) {
        System.out.println(x.getClass().getName());
    }
    public static void main(String[] args) {
        GenericFunction ea = new GenericFunction();
        ea.f(" ");
        ea.f(10);
        ea.f('a');
        ea.f(ea);
    }
}

output:
java.lang.String
java.lang.Integer
java.lang.Character
GenericFunction

-----------------------------
dylan presents.

總結

以上就是本文關于java中generic實例詳解的全部內容,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/indexman/article/details/17485361

延伸 · 閱讀

精彩推薦
975
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 日本一区二区不卡高清 | 91资源在线观看 | 一级黄色播放 | 成人午夜视频免费在线观看 | 国产亚洲精品视频中文字幕 | 亚洲欧美日韩精品久久亚洲区色播 | 亚洲第一视频在线 | 欧美淫视频 | 欧美片a | 毛片免费看网站 | 久久精品一区二区三区四区五区 | 国产在线观看 | av在线播放免费 | 成人免费观看49www在线观看 | 免费观看视频在线观看 | 国产精品欧美日韩一区二区 | 日韩一级免费 | 私库av在线免费观看 | 亚洲αv | 舌头伸进添的我好爽高潮网站 | 男人的天堂视频网站 | av在线一区二区三区四区 | 欧美受xxxx黑人xyx爽 | 国产精品久久久久久久久久电影 | 色交视频 | 成人免费自拍视频 | 狠狠久久伊人中文字幕 | 毛片免费观看视频 | 国产精品久久久久久久久久久久久久久久 | 欧美成人久久 | 黑人日比视频 | 91精品国产99久久久久久 | 91精品国产91| 久夜tv| 久久久久久久久久美女 | 午夜精品久久久久久中宇 | 日本免费一区二区三区四区 | 港台三级在线观看 | 日韩黄色精品 | 亚洲一区二区不卡视频 | 最新在线中文字幕 |