日韩不卡免费视频-日韩不卡视频在线-日韩不卡视频在线观看-日韩不卡一二三区-伊人二区-伊人丁香花久久爱综合

北京北大青鳥學校學術部講解:泛型的好處

北京北大青鳥學校資深學術老師張老師介紹:Java 語言中引入泛型是一個較大的功能增強。不僅語言、類型系統和編譯器有了較大的變化,以支持泛型,而且類庫也進行了大翻修,所以許多重要的類,比如集合框架,都已經成為泛型化的了。這帶來了很多好處:(北大青鳥課程

類型安全。北京北大青鳥學校張老師解釋,泛型的主要目標是提高 Java 程序的類型安全。通過知道使用泛型定義的變量的類型限制,編譯器可以在一個高得多的程度上驗證類型假設。沒有泛型,這些假設就只存在于程序員的頭腦中(或者如果幸運的話,還存在于代碼注釋中)。

北京北大青鳥學校:Java 程序中的一種流行技術是定義這樣的集合,即它的元素或鍵是公共類型的,比如“String 列表”或者“String 到 String 的映射”。通過在變量聲明中捕獲這一附加的類型信息,泛型允許編譯器實施這些附加的類型約束。類型錯誤現在就可以在編譯時被捕獲了,而不是在運行時當作 ClassCastException 展示出來。將類型檢查從運行時挪到編譯時有助于您更容易找到錯誤,并可提高程序的可靠性。(北大青鳥課程

消除強制類型轉換。 泛型的一個附帶好處是,消除源代碼中的許多強制類型轉換。這使得代碼更加可讀,并且減少了出錯機會。

盡管減少強制類型轉換可以降低使用泛型類的代碼的羅嗦程度,但是聲明泛型變量會帶來相應的羅嗦。比較下面兩個代碼例子。(北大青鳥課程

該代碼不使用泛型:
List li = new ArrayList();
li.put(new Integer(3));
Integer i = (Integer) li.get(0);

該代碼使用泛型:
List<Integer> li = new ArrayList<Integer>();
li.put(new Integer(3));
Integer i = li.get(0);

在簡單的程序中使用一次泛型變量不會降低羅嗦程度。但是對于多次使用泛型變量的大型程序來說,則可以累積起來降低羅嗦程度。(北大青鳥課程

潛在的性能收益。 泛型為較大的優化帶來可能。在泛型的初始實現中,編譯器將強制類型轉換(沒有泛型的話,程序員會指定這些強制類型轉換)插入生成的字節碼中。但是更多類型信息可用于編譯器這一事實,為未來版本的 JVM 的優化帶來可能。(北大青鳥課程)

由于泛型的實現方式,支持泛型(幾乎)不需要 JVM 或類文件更改。所有工作都在編譯器中完成,編譯器生成類似于沒有泛型(和強制類型轉換)時所寫的代碼,只是更能確保類型安全而已。(北京北大青鳥學校提供,未完待續)

北大青鳥網上報名
北大青鳥招生簡章
主站蜘蛛池模板: 国产日产高清欧美一区二区三区 | 久久性妇女精品免费 | 国产uv1区二区三区 国产va免费精品高清在线观看 | 国产成人丝袜网站在线观看 | 成人在线不卡 | 亚洲人成网站在线观看播放 | 午夜精品视频 | 国产成人啪精品视频免费网 | 国产片久久| 亚洲男人天堂视频 | 亚洲天堂视频在线观看免费 | 日本红怡院亚洲红怡院最新 | 最新日韩欧美不卡一二三区 | 中文字幕播放 | 2018久久久国产精品 | 在线欧美成人 | 99成人免费视频 | 欧美一级毛片免费播放aa | 日本aa毛片a级毛片免费观看 | 久久精品国产精品亚洲精品 | 久久手机免费视频 | 一级一片免费播放 | 一区二区三区日本视频 | 成人在线免费视频播放 | 草草久 | 欧美性色xo影院在线观看 | 日韩 欧美 国产 师生 制服 | 精品免费久久久久久成人影院 | 男女乱配视频免费观看 | 欧美三区在线 | 99aiav国产精品视频 | 精品一区二区三区视频在线观看 | 精品国产系列 | 久久免费成人 | 91香蕉成人免费网站 | 玖玖这里只有精品 | 国产欧美视频综合二区 | 手机在线视频一区 | 日本激情视频在线观看 | 国产自在自线午夜精品 | 久久综合99re久久爱 |