<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

    Java泛型與類型擦除

    “編譯器會(huì)進(jìn)行泛型擦除”是一個(gè)常識(shí)了(好吧,實(shí)際擦除的是參數(shù)和自變量的類型)。這個(gè)過程由“類型擦除”實(shí)現(xiàn)。但是并非像許多開發(fā)者認(rèn)為的那樣,在 <..> 符號(hào)內(nèi)的東西都被擦除了??聪旅孢@段代碼:
    public class ClassTest {
    public static void main(String[] args) throws Exception {
    ParameterizedType type = (ParameterizedType)
    Bar.class.getGenericSuperclass();
    System.out.println(type.getActualTypeArguments()[0]);
    ParameterizedType fieldType = (ParameterizedType)
    Foo.class.getField("children").getGenericType();
    System.out.println(fieldType.getActualTypeArguments()[0]);
    ParameterizedType paramType = (ParameterizedType)
    Foo.class.getMethod("foo", List.class)
    .getGenericParameterTypes()[0];
    System.out.println(paramType.getActualTypeArguments()[0]);
    System.out.println(Foo.class.getTypeParameters()[0]
    .getBounds()[0]);
    }
    class Foo<E extends CharSequence> {
    public List<Bar> children = new ArrayList<Bar>();
    public List<StringBuilder> foo(List<String> foo) {return null; }
    public void bar(List<? extends String> param) {}
    }
    class Bar extends Foo<String> {}
    }
      你知道輸出了什么嗎?
      class java.lang.String
      class ClassTest$Bar
      class java.lang.String
      class java.lang.StringBuilder
      interface java.lang.CharSequence
      你會(huì)發(fā)現(xiàn)每一個(gè)類型參數(shù)都被保留了,而且在運(yùn)行期可以通過反射機(jī)制獲取到。那么到底什么是“類型擦除”?至少某些東西被擦除了吧?是的。事實(shí)上,除了結(jié)構(gòu)化信息外的所有東西都被擦除了 —— 這里結(jié)構(gòu)化信息是指與類結(jié)構(gòu)相關(guān)的信息,而不是與程序執(zhí)行流程有關(guān)的。換言之,與類及其字段和方法的類型參數(shù)相關(guān)的元數(shù)據(jù)都會(huì)被保留下來,可以通過反射獲取到。

    posted on 2014-11-28 10:31 順其自然EVO 閱讀(254) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    <2014年11月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产aⅴ成人精品无吗| 免费人成动漫在线播放r18| 成人免费午夜无码视频| 久久国产亚洲精品| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 久草免费福利视频| 久久亚洲国产成人影院| 亚洲偷自拍拍综合网| 99久久国产免费中文无字幕| 国产午夜亚洲精品国产| 国产性爱在线观看亚洲黄色一级片 | 亚洲精品黄色视频在线观看免费资源 | 一级黄色毛片免费看| 亚洲欧洲国产精品你懂的| 日韩一区二区免费视频| 日韩视频在线观看免费| WWW国产亚洲精品久久麻豆| 亚洲2022国产成人精品无码区 | 91亚洲自偷在线观看国产馆| 亚洲国产精品成人网址天堂| 最近免费最新高清中文字幕韩国| 国产成人综合亚洲一区| 亚洲日韩乱码久久久久久| 亚洲精品第一国产综合境外资源| 999久久久免费精品国产| 久久精品免费网站网| 亚洲国产成人无码AV在线| 亚洲综合国产精品| 浮力影院亚洲国产第一页| 大学生高清一级毛片免费| 99久久国产免费-99久久国产免费| 一个人看的免费观看日本视频www| 亚洲一区二区三区在线| 婷婷亚洲久悠悠色悠在线播放| 免费看国产精品麻豆| 啦啦啦中文在线观看电视剧免费版 | 国内精品乱码卡1卡2卡3免费| 日韩av无码免费播放| 黄色免费网站在线看| 亚洲日本一线产区和二线产区对比| 亚洲综合激情视频|