除了確保key是一個String作爲編譯類型之外,還有其他什麼好處嗎?或者它可以被排除在外?我存儲的值可以是多種類型將Map聲明爲Map <String,Object>有沒有什麼好處,因爲它只與Map對應
0
A
回答
4
聲明Map
沒有泛型類型信息是已棄用並且大多數IDE都在此處生成警告。這一點很重要,即使它是Map<Object, Object>
。在編譯時確保密鑰是String
實際上是相當多的。
從技術上講,類型在編譯期間被擦除,所以在運行代碼時沒有優勢。但是,從Java 5開始,您應該始終包含泛型類型信息。
2
使用Map<String, Object>
的好處主要是代碼可讀性。 其他開發人員更容易閱讀您的代碼,併爲您節省一些鑄造操作。 但編譯後,泛型被刪除,因此它不會對應用程序產生任何實際影響。 您還可以看到:reason generics were introduced in java 5
+0
實際上主要是輸入安全性,可讀性作爲一個附帶的好處。 – EJP
相關問題
- 1. 爲什麼std :: map find()沒有聲明爲noexcept?
- 2. 將列表<Map <String,Object >>轉換爲Map <String,Integer>
- 3. map <string,pair <string,foo * >>和map <string,pair <string,foo&>>有什麼區別?
- 4. 如何將List [List [Map [String,String]]]轉換爲List [Map [String,String]]
- 5. 爲什麼(Map String v)的現有FromJSON實例沒有在(Map String String)上使用?
- 6. Angular2 RxJS爲什麼map()沒有工作?
- 7. Kotlin Map:爲什麼沒有toHashMap()?
- 8. For-Each Loop,Map <String,Map <String,List <String> >>
- 9. Scala將Seq [Object]映射爲Map [String,Map [String,String]]
- 10. 爲什麼map <string,string>接受int值作爲值?
- 11. 有沒有在protobuf 3中實現map <string,map <string,list <string> >>的方法?
- 12. 有沒有辦法使用MongoDB/Java將BasicDBObject渲染爲Map <String,String>?
- 13. 爲什麼Map有loadFactor而List沒有它?
- 14. 爲什麼string.encode('utf-8')!= bytes(map(ord,string))?
- 15. 如何使用相同的遞歸函數迭代Map <String,String>和Map <String,Map <String,String >>?
- 16. QtConcurrent :: map沒有任何好處
- 17. Map <String,Map <String,Boolean >> myMap = new HashMap <String,HashMap <String,Boolean >>();
- 18. 如何解析爲<map-Map><map-Entry><map-Key><map-Value> XML文件中的Java
- 19. Map <Integer,String>或String []?
- 20. map <string,string>在類
- 21. Hadoop Map Reduce:MapOutputValueClass:Map <String,String>?
- 22. 如何將List <Map <String,Long>轉換成TreeMap或Map?
- 23. 將對象轉換爲java中的Map <String,String>
- 24. Map <String,Integer>和Map <Integer,String>排序
- 25. 如何將Map <String,String>更改爲Map <String,Ratio>,比率爲x/y
- 26. Java Map <K,V>:爲什麼get(object)沒有得到(K)?
- 27. json-lib的putAll(Map map)和accumulateAll(Map map)方法有什麼區別?
- 28. 將Map [String,Double]轉換爲java.util.Map [String,java.lang.Double]
- 29. 如何將HashMap <String,Integer> param轉換爲Map <String,Object)
- 30. 爲什麼這個Python類型的表現對於map和沒有map的行爲有所不同
'Map'是一個好的開始。你能想出一種讓Object更精確一些的方法嗎?當然,你正在爲對象做些什麼,調用某種方法。 –
你不應該在同一張地圖上存儲多種類型的值。 –