亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

多個java泛型示例分享

2019-11-26 15:33:18
字體:
來源:轉載
供稿:網友

1.泛型類

1.1普通泛型

復制代碼 代碼如下:

package test.lujianing;
/**
 * 泛型類
 * @param <T>
 */
class Test<T>{
    private T obj;
    public void setValue(T obj){
        this.obj =obj;
    }
    public T getValue(){
        System.out.println(obj.getClass().getName());
        return obj;
    }
}
/**
 * 測試泛型類
 */
public class TestOne {
    public static void main(String[] args) {
        //測試Integer泛型
        Test<Integer> t1 = new Test<Integer>();
        t1.setValue(5);
        Integer i = t1.getValue();
        System.out.println(i);
        //測試Double泛型
        Test<Double> t2 = new Test<Double>();
        t2.setValue(5.55D);
        Double d = t2.getValue();
        System.out.println(d);
        //測試String泛型
        Test<String> t3 = new Test<String>();
        t3.setValue("hello world");
        String str =t3.getValue();
        System.out.println(str);
    }
}

輸出結果:

復制代碼 代碼如下:

java.lang.Integer
5
java.lang.Double
5.55
java.lang.String
hello world

1.2 K/V泛型

復制代碼 代碼如下:

package test.lujianing;
import java.util.HashMap;
import java.util.Map;

/**
 * Created by Administrator on 14-3-30.
 */
class TestKV<K,V>{
    private Map<K,V> map=new HashMap<K, V>();
    public void put(K k, V v) {
        map.put(k,v);
    }
    public V get(K k) {
        return map.get(k);
    }
}
public class TestFour{
    public static void main(String[] args) {
        TestKV<String,String> t = new TestKV<String, String>();
        t.put("name","jianing");
        System.out.println(t.get("name"));

        TestKV<String,Integer> t2 = new TestKV<String, Integer>();
        t2.put("age",24);
        System.out.println(t2.get("age"));
    }
}

輸出結果:

復制代碼 代碼如下:

jianing
24

2.泛型接口

復制代碼 代碼如下:

package test.lujianing;
/**
 * 泛型接口
 * @param <T>
 */
public interface TestImpl<T> {
    public void setValue(T t);
    public T getValue();
}

輸出結果:

復制代碼 代碼如下:

1
hello word

3.泛型方法

復制代碼 代碼如下:

package test.lujianing;

/**
 * 泛型方法類
 */
class TestMethod{
    /**
     * 泛型方法
     */
    public <T>T getValue(Object s,Class<T> clazz) {
        System.out.println(clazz.getName());
        T t =null;
        if(clazz.getName().equals("java.lang.Integer")){
            Double d = Double.parseDouble(s.toString());
            int i =d.intValue();
            t=(T)new Integer(i);
        }
        if(clazz.getName().equals("java.lang.Double")){
            t=(T)new Double(s.toString());
        }
        return t;
    }
}

/**
 * 泛型方法測試類
 */
public class TestThree {
    public static void main(String[] args) {
        TestMethod t = new TestMethod();
        int i =t.getValue("30.0011",Integer.class);
        System.out.println(i);
        double d  =t.getValue("40.0022",Double.class);
        System.out.println(d);
    }
}

輸出結果:

復制代碼 代碼如下:

java.lang.Integer
30
java.lang.Double
40.0022

4.限制泛型

在上面的例子中,沒有限制class Test<T>類型持有者T的范圍,默認限定類型相當于Object。比如我們要限制T為數字接口類型。只需要這么做:class Test<T extends Number>,這樣類中的泛型T只能是Number接口的實現類,傳入非Number接口編譯會出錯。

5.通配泛型

復制代碼 代碼如下:

package test.lujianing;
import java.util.HashMap;
import java.util.Map;
/**
 * 通配泛型
 */
public class TestFive {
    public static void main(String[] args) {
        Map<String,Class<? extends Number>> map = new HashMap<String,Class<? extends Number>>();
        map.put("Integer",Integer.class);
        map.put("Double",Double.class);

        for (Map.Entry<String,Class<? extends Number>> entry : map.entrySet()) {
            System.out.println("key:" + entry.getKey() + " value:" + entry.getValue());
        }
    }
}

輸出結果:

復制代碼 代碼如下:

key:Double value:class java.lang.Double
key:Integer value:class java.lang.Integer

簡單的例子:針對1.1的例子

復制代碼 代碼如下:

public static void main(String[] args) {
        //測試Integer泛型
        Test<Integer> t1 = new Test<Integer>();
        t1.setValue(5);
        fun(t1);
        //測試Double泛型
        Test<Double> t2 = new Test<Double>();
        t2.setValue(5.55D);
        fun(t2);
    }
    public static void fun(Test<?> t){
        System.out.println("通配泛型"+t.getValue());
    }

輸出結果:

復制代碼 代碼如下:

java.lang.Integer
通配泛型5
java.lang.Double
通配泛型5.55

6.補充

在泛型中,可能會遇到<T><E>等,T和E分別是Type和Element的首字母。E一般用來表示集合類型中的元素的類型,例如List接口的定義,public interface List<E> extends Collection<E>。這只是一種命名習慣,兩者沒有本質區別。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91免费人成网站在线观看18| 日韩中文第一页| 91精品国产91久久久久久久久| www.色综合| 一区二区av在线| 亚洲偷欧美偷国内偷| 久久久久中文字幕2018| 亚洲精品福利免费在线观看| 亚州国产精品久久久| 91在线中文字幕| 欧美日韩国产一区在线| 欧美成人精品一区| 国产成人精品一区二区在线| www.99久久热国产日韩欧美.com| 欧美黑人xxxx| 欧美日本啪啪无遮挡网站| 亚洲国产精品国自产拍av秋霞| 欧美激情一区二区三区久久久| 亚洲精品综合久久中文字幕| 一区二区亚洲精品国产| 日韩电影中文字幕在线| 国产精品69精品一区二区三区| 久久综合色影院| 亚洲欧美国产精品| 国产精品午夜国产小视频| 国产97在线亚洲| 欧美成人国产va精品日本一级| 国产精品久久久久久久久久东京| 琪琪第一精品导航| 在线播放国产一区中文字幕剧情欧美| 欧美天堂在线观看| 日韩免费黄色av| 欧美又大又硬又粗bbbbb| 久久欧美在线电影| 91久久久国产精品| 久久精品中文字幕| 一区二区在线视频| 国产综合久久久久| 免费不卡在线观看av| 日韩av免费看网站| 日韩免费av在线| 欧美精品一区在线播放| 日韩av在线影院| 国产精品wwwwww| 一区二区三区美女xx视频| 国产精品一区二区在线| 日韩在线观看免费全| 成人精品一区二区三区| 欧美亚洲激情视频| 欧美极品少妇xxxxⅹ裸体艺术| 伦伦影院午夜日韩欧美限制| 美女视频黄免费的亚洲男人天堂| 永久免费看mv网站入口亚洲| 亚洲国产中文字幕久久网| 国产精品久久久久久影视| 久久免费视频在线观看| 久久久国产视频| 亚洲国产日韩精品在线| 日韩亚洲国产中文字幕| www.日本久久久久com.| 久久久精品国产一区二区| 色偷偷888欧美精品久久久| 亚洲一区第一页| 精品爽片免费看久久| 黄网动漫久久久| 日韩在线中文字幕| 日韩欧美亚洲国产一区| 国产精品日韩精品| 日韩有码在线观看| 成人免费看片视频| 97精品欧美一区二区三区| 国内精品免费午夜毛片| 国产精品影片在线观看| 51精品国产黑色丝袜高跟鞋| 亚洲网站在线播放| 国产精品久久电影观看| 久久久91精品国产| 国产精品久久久av| 久久69精品久久久久久久电影好| 久久久久一本一区二区青青蜜月| 日韩电影中文字幕| 亚洲影院污污.| 日韩va亚洲va欧洲va国产| 岛国精品视频在线播放| 97超级碰碰碰| 亚洲第一视频在线观看| 日韩av中文在线| 美日韩丰满少妇在线观看| 51精品国产黑色丝袜高跟鞋| 欧美国产欧美亚洲国产日韩mv天天看完整| 性亚洲最疯狂xxxx高清| 日本一区二区在线免费播放| 亚洲欧美日韩视频一区| 欧美有码在线观看| 亚洲人成电影在线播放| 久久久成人的性感天堂| 亚洲第一精品电影| 精品无人区太爽高潮在线播放| 九九热这里只有在线精品视| 91麻豆国产语对白在线观看| 欧洲午夜精品久久久| 午夜精品久久久久久久白皮肤| 亚洲第一免费播放区| 欧美日韩免费在线观看| 国产噜噜噜噜噜久久久久久久久| 久久精品成人欧美大片| 久久精品99久久久香蕉| 精品国产乱码久久久久久婷婷| 韩国视频理论视频久久| 在线观看成人黄色| 91社影院在线观看| 亚洲图片欧美午夜| 欧洲亚洲妇女av| 国产成人精彩在线视频九色| 亚洲国产天堂久久综合网| 日韩精品在线视频| 韩国精品久久久999| 久久综合伊人77777| 日韩暖暖在线视频| 欧美激情视频在线| 国产欧美日韩精品丝袜高跟鞋| 国产精品自拍偷拍视频| 91久久久久久| 91沈先生在线观看| 国产精品久久久久久久久久久久久| 亚洲福利小视频| 91成人在线视频| 午夜精品99久久免费| 久久成人精品电影| 国产精品色视频| 亚洲天堂视频在线观看| 国产精品视频免费在线观看| 成人免费高清完整版在线观看| 高清欧美性猛交| 日韩精品在线免费观看| 国产综合在线看| 日韩精品免费在线视频观看| 欧美激情国产日韩精品一区18| 国产精品男女猛烈高潮激情| 第一福利永久视频精品| www.xxxx欧美| yw.139尤物在线精品视频| 国产精品久久久久一区二区| 亚洲第一中文字幕| 久久亚洲一区二区三区四区五区高| 欧美电影免费观看高清完整| 日韩中文字幕在线看| 欧美日韩在线观看视频| 欧美黑人xxxx| 一区二区欧美亚洲| 国产91精品黑色丝袜高跟鞋| 日韩精品免费在线播放| 欧美日韩亚洲精品一区二区三区| 亚洲美女精品成人在线视频| 亚洲精品久久久久国产| 欧美在线免费看| 久久伊人精品一区二区三区| 欧美精品中文字幕一区| 一本久久综合亚洲鲁鲁| 国产精彩精品视频| 97免费视频在线播放| 在线观看欧美成人| 欧美激情中文字幕乱码免费| 亚洲免费电影一区|