為什么常用 Map<> map = new HashMap()


在初學Java的時候,經常能看到教材上的寫法,使用了接口Map來引用一個map,而不是它的具體實現,那么這樣做的好處是什么呢?

<Effective Java>第52條:通過接口引用對象

作者認為,如果有合適的接口類型存在,那么對於參數、返回值、變量和域來說,就都應該使用就接口類型進行聲明。

只有當你利用構造器創建某個對象的時候,才真正需要引用這個對象的類。

// 一個好的栗子

Map<Integer,String> map = new HashMap<>();

//一個不那么好的栗子

HashMap<Integer,String> map = new HashMap<>();

  

 

這樣做的好處在於:你的程序會更靈活。當你決定更換實現的時候,所要做的就只是:改變構造器中類的名稱。就比如:

Map<Integer,String> map = new TreeMap<>();

如果不這么做,在最早就使用了HashMap來聲明了map,如果客戶端在其他地方,使用了HashMap的操作,那么后續若改動了,則無法通過編譯了。

 

總結:用接口引用對象會使程序更加靈活。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM