日本粉色视频-日本理论片中文在线观看2828-日本理论在线观看被窝网-日本黄大片在线观看-国产精品福利在线观看秒播-国产精品福利资源在线

北京北大青鳥學校學術部講解:Java泛型用法的例子

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


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


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


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


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

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

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

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

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

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

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

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


向后兼容

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

 

北大青鳥網上報名
北大青鳥招生簡章
主站蜘蛛池模板: 66精品| 香蕉福利久久福利久久香蕉 | 性盈盈影院在线观看 | 福利三区| 欧美一级乱理片免费观看 | 一区 在线播放 | 亚洲国产爱久久全部精品 | 日韩毛片在线免费观看 | 色偷偷亚洲女人天堂观看欧 | 日韩欧美在线播放 | 女人张开腿让男人插 | 偷拍亚洲欧美 | 男女免费观看在线爽爽爽视频 | 九九99久久精品国产 | 欧美久在线观看在线观看 | 91成人啪国产啪永久地址 | 日韩欧美毛片免费观看视频 | 中文字幕水野优香在线网在线 | 男人扒开双腿女人爽视频免费 | 免费观看a毛片一区二区不卡 | 欧美日本一区二区 | 女人被男人躁得好爽免费文 | 自怕偷自怕亚洲精品 | 欧美与黑人午夜性猛交久久久 | 久久99国产亚洲高清观看首页 | 欧美一级毛片香蕉网 | 无遮挡一级毛片私人影院 | 亚洲欧美日韩综合在线一区二区三区 | 秀人网私拍福利视频在线 | 欧美一区在线观看视频 | 国产精品不卡在线 | 中国国产一级毛片 | 国产精品免费久久 | 黄色三级三级三级 | 久久2| 一级毛片私人影院老司机 | 成人国产视频在线观看 | 国产精品免费久久久免费 | 一区二区三区日本视频 | 九九精品视频在线观看九九 | 欧美亚洲日本韩国一级毛片 |