天天操操-你懂的在线观看-欧美成人激情-午夜激情视频在线观看-性生活影视-亚洲国产精品久久久

北京北大青鳥學(xué)校學(xué)術(shù)部講解:Java泛型用法的例子

北京北大青鳥學(xué)校學(xué)術(shù)老師介紹:泛型的許多最佳例子都來自集合框架,因為泛型讓大家在保存在集合中的元素上指定類型約束。考慮這個使用 Map 類的例子,其中涉及一定程度的優(yōu)化,即 Map.get() 返回的結(jié)果將確實是一個 String:(北大青鳥課程


Map m = new HashMap();
m.put("key", "blarg");
String s = (String) m.get("key");


北京北大青鳥學(xué)校學(xué)術(shù)老師介紹:如果有人已經(jīng)在映射中放置了不是 String 的其他東西,上面的代碼將會拋出 ClassCastException。泛型允許您表達(dá)這樣的類型約束,即 m 是一個將 String 鍵映射到 String 值的 Map。這可以消除代碼中的強(qiáng)制類型轉(zhuǎn)換,同時獲得一個附加的類型檢查層,這個檢查層可以防止有人將錯誤類型的鍵或值保存在集合中。(北大青鳥課程


下面的代碼示例展示了 JDK 5.0 中集合框架中的 Map 接口的定義的一部分:


public interface Map<K, V> {
public void put(K key, V value);
public V get(K key);
}(北大青鳥課程

注意該接口的兩個附加物:

類型參數(shù) K 和 V 在類級別的規(guī)格說明,表示在聲明一個 Map 類型的變量時指定的類型的占位符。

在 get()、put() 和其他方法的方法簽名中使用的 K 和 V。

為了贏得使用泛型的好處,必須在定義或?qū)嵗?Map 類型的變量時為 K 和 V 提供具體的值。以一種相對直觀的方式做這件事:

Map<String, String> m = new HashMap<String, String>();
m.put("key", "blarg");
String s = m.get("key");(北大青鳥課程

當(dāng)使用 Map 的泛型化版本時,您不再需要將 Map.get() 的結(jié)果強(qiáng)制類型轉(zhuǎn)換為 String,因為編譯器知道 get() 將返回一個 String。

北京北大青鳥學(xué)校學(xué)術(shù)老師提出,在使用泛型的版本中并沒有減少鍵盤錄入;實際上,比使用強(qiáng)制類型轉(zhuǎn)換的版本需要做更多鍵入。使用泛型只是帶來了附加的類型安全。因為編譯器知道關(guān)于您將放進(jìn) Map 中的鍵和值的類型的更多信息,所以類型檢查從執(zhí)行時挪到了編譯時,這會提高可靠性并加快開發(fā)速度。(北大青鳥課程


向后兼容

在 Java 語言中引入泛型的一個重要目標(biāo)就是維護(hù)向后兼容。盡管 JDK 5.0 的標(biāo)準(zhǔn)類庫中的許多類,比如集合框架,都已經(jīng)泛型化了,但是使用集合類(比如 HashMap 和 ArrayList)的現(xiàn)有代碼將繼續(xù)不加修改地在 JDK 5.0 中工作。當(dāng)然,沒有利用泛型的現(xiàn)有代碼將不會贏得泛型的類型安全好處。(北京北大青鳥學(xué)校編輯,未完待續(xù))

 

北大青鳥網(wǎng)上報名
北大青鳥招生簡章
主站蜘蛛池模板: 日韩 国产 欧美 精品 在线 | 日韩一级片在线观看 | 欧美成人四级hd版 | 国产亚洲欧美一区二区三区 | 欧美日韩精品一区三区 | 在线观看国产一区二区三区99 | 久久精品a亚洲国产v高清不卡 | 99精品国产成人一区二区在线 | 欧洲一级毛片 | 国产亚洲欧美视频 | 亚洲国产网站 | 久草资源在线视频 | 91青草久久久久久清纯 | 国产精品19禁在线观看2021 | 欧美日韩免费做爰视频 | 国产乱子视频 | 曰本美女高清在线观看免费 | 亚洲免费色视频 | 干欧美女人 | 不卡无毒免费毛片视频观看 | 视频久久精品 | 国亚洲欧美日韩精品 | 中文国产成人精品久久一 | 久久er热视频在这里精品 | 国产成人精品久久亚洲高清不卡 | 日本专区 | 国产亚洲综合在线 | 欧美又粗又硬又大久久久 | 欧美性巨大欧美 | 日日操干| 国产精品欧美亚洲韩国日本 | 国产禁女女网站免费看 | 国产精品视频男人的天堂 | 亚洲一级特黄特黄的大片 | 日本无玛 | 在线国产视频 | 日本视频播放免费线上观看 | 手机看片午夜 | 欧美一区视频 | 香蕉在线观看999 | 亚洲精品免费在线观看 |