使用jdk5範型

在範型出來之前,使用map時可能會寫如下的代碼

Map accounts = new HashMap();  // 無範型
...
Account a = (Account) accounts.get("Cedric");

而實際上,每次寫上述代碼的時候都要做類型轉換是件很煩人的事情    ,我更想寫出下面的代碼

Map m = new HashMap();  // 無範型
Account a = m.get("Cedric");

這在jdk5之前是不太可能的。

jdk5中的範型可以幫我們做到這些,有了範型,就可能會寫出如下的代碼

Map<String, List<Account>> accounts =
  new HashMap<String, List<Account>>();

但是這樣的代碼又引出了新的問題,它不符合 DRY( Don't repeat yourself ). 
的原則 ,每次要寫出這樣的代碼不但很煩人,還降低了程序的可讀性

不過可以採用如下的方法讓工作更簡單些:

public class AccountMap extends HashMap<String, List<Account>>  {

//你的代碼

}

這樣就簡潔多了


發佈了25 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章