2012-05-13 57 views
0

除了確保key是一個String作爲編譯類型之外,還有其他什麼好處嗎?或者它可以被排除在外?我存儲的值可以是多種類型將Map聲明爲Map <String,Object>有沒有什麼好處,因爲它只與Map對應

+0

'Map '是一個好的開始。你能想出一種讓Object更精確一些的方法嗎?當然,你正在爲對象做些什麼,調用某種方法。 –

+1

你不應該在同一張地圖上存儲多種類型的值。 –

回答

4

聲明Map沒有泛型類型信息是已棄用並且大多數IDE都在此處生成警告。這一點很重要,即使它是Map<Object, Object>。在編譯時確保密鑰是String實際上是相當多的。

從技術上講,類型在編譯期間被擦除,所以在運行代碼時沒有優勢。但是,從Java 5開始,您應該始終包含泛型類型信息。

2

使用Map<String, Object>的好處主要是代碼可讀性。 其他開發人員更容易閱讀您的代碼,併爲您節省一些鑄造操作。 但編譯後,泛型被刪除,因此它不會對應用程序產生任何實際影響。 您還可以看到:reason generics were introduced in java 5

+0

實際上主要是輸入安全性,可讀性作爲一個附帶的好處。 – EJP

相關問題