Java ConcurrentHashMap到HashMap
我只是想知道。。。如何以最佳方式将Java ConcurrentHashMap到HashMap,java,gwt,Java,Gwt,我只是想知道。。。如何以最佳方式将ConcurrentHashMap转换为HashMap 非常感谢任何有用的评论您为什么需要这样做?只需将其投射到地图为什么需要这样做?只需将其强制转换为MapConcurrentHashMap不是HashMap(在严格的类继承意义上),因此无法执行此强制转换。正如Keith所说,您最好把它当作一个Map,让您的客户机代码不关心实现。如果确实要将ConcurrentHashMap转换为HashMap,请使用构造函数,但这需要创建并填充一个全新的映射 我将澄清我的“
ConcurrentHashMap
转换为HashMap
非常感谢任何有用的评论您为什么需要这样做?只需将其投射到
地图
为什么需要这样做?只需将其强制转换为Map
ConcurrentHashMap
不是HashMap
(在严格的类继承意义上),因此无法执行此强制转换。正如Keith所说,您最好把它当作一个Map
,让您的客户机代码不关心实现。如果确实要将ConcurrentHashMap
转换为HashMap
,请使用构造函数,但这需要创建并填充一个全新的映射
我将澄清我的“将其视为地图”的建议。编写代码的通常方法(除非您确实需要HashMap
或ConcurrentHashMap
所特有的功能),如下所示:
Map<K, V> myMap = new HashMap<K, V>();
Map myMap=newhashmap();
或
Map myMap=new ConcurrentHashMap():
但不是
//Don't do this unless you have a good reason!
HashMap<K, V> myMap = new HashMap<K, V>();
//除非有充分的理由,否则不要这样做!
HashMap myMap=新HashMap();
保持通用性并将变量
myMap
定义为Map
而不是HashMap
的优点是,它可以让您无需担心地更改所使用的实现。aConcurrentHashMap
不是HashMap
(在严格的类继承意义上),因此您无法执行此强制转换。正如Keith所说,您最好将其视为映射
,让您的客户端代码不关心实现。如果您确实想将ConcurrentHashMap
转换为HashMap
,请使用构造函数,但这需要创建并填充一个全新的映射
我将澄清我的“将其视为Map
”建议。编写代码的通常方式(除非您确实需要HashMap
或ConcurrentHashMap
的独有功能)如下:
Map<K, V> myMap = new HashMap<K, V>();
Map myMap=newhashmap();
或
Map myMap=new ConcurrentHashMap():
但不是
//Don't do this unless you have a good reason!
HashMap<K, V> myMap = new HashMap<K, V>();
//除非有充分的理由,否则不要这样做!
HashMap myMap=新HashMap();
将变量
myMap
定义为Map
而不是HashMap
的好处在于,它可以让您无需担心地更改所使用的实现。为什么您认为这是必要的?为什么您认为这是必要的?+1也感谢您提供了更多详细信息+1也感谢您提供了m谢谢你的回复。我收到了谢谢你的回复。我收到了