Java Hashmap转换哪个更好

Java Hashmap转换哪个更好,java,collections,hashmap,Java,Collections,Hashmap,我们应该先选哪种方式,还是第二种方式?为什么 第一条路---------- 第二条路--------- 第二个更好(你不需要知道地图的实现是什么)。第二个更好(你不需要知道地图的实现是什么)。我会选择第二个选项。您可以将映射的类型更改为LinkedHashMap,ConcurrentHashMap,TreeMap,AbstractMap。对于第二个解决方案,您的更改不需要进一步的代码更改。对于第一个选项,因为您将强制转换为具体的实现,所以需要更新代码。我选择第二个选项。您可以将映射的类型更改为L

我们应该先选哪种方式,还是第二种方式?为什么

第一条路----------

第二条路---------


第二个更好(你不需要知道地图的实现是什么)。

第二个更好(你不需要知道地图的实现是什么)。

我会选择第二个选项。您可以将
映射的类型更改为
LinkedHashMap
ConcurrentHashMap
TreeMap
AbstractMap
。对于第二个解决方案,您的更改不需要进一步的代码更改。对于第一个选项,因为您将强制转换为具体的实现,所以需要更新代码。

我选择第二个选项。您可以将
映射的类型更改为
LinkedHashMap
ConcurrentHashMap
TreeMap
AbstractMap
。对于第二个解决方案,您的更改不需要进一步的代码更改。对于第一个选项,因为您将强制转换为具体的实现,你需要更新你的代码。

它们是两种不同的东西。第二种方式更好。我在会话中有一个hashmap对象……那么应该遵循哪种方式?@Shriram为什么更好?因为你不必知道映射的实现它们是两种不同的东西。第二种方式更好。我在会话中有一个hashmap对象会话…那么应该采用哪种方式?@Shriram为什么更好?因为您不必知道MapOk的实现,所以我可以直接将其转换为ConcurrentHashMap等。。不创建ConcurrentHashMap的新对象……是吗?通过将其称为
Map
可以使用
Map
类型的任何子类。通过将其称为
HashMap
,您极大地限制了这里可以使用的类。好的,我可以直接将其转换为ConcurrentHashMap等。。不创建ConcurrentHashMap的新对象……是吗?通过将其称为
Map
可以使用
Map
类型的任何子类。通过将其称为
HashMap
,您可以极大地限制在这里可以使用的类。
Map mapDestinationSession=(HashMap)SessionUtils.getNamespacedAttribute(session, "mapDestinationSession", null); 
Map mapDestinationSession=(Map)SessionUtils.getNamespacedAttribute(session, "mapDestinationSession", null);