在C#中
Dictionary<String, String> dictionary = new Dictionary<String, String>();
在Java中,这个错误带有
无法实例化该类型 字典
可能出现什么问题?
在我的代码中,接下来是
dictionary.put("vZip", jsonUdeals.getString("vZip"));
我知道这听起来太琐碎了。但我不知所措! 如果Dictionary不这样做(我现在强烈怀疑),那么使用哪个DataStructure。
答案 0 :(得分:72)
Dictionary
是Java中的抽象类。它也是过时的;你应该使用Map
界面;类似的东西:
Map<String,String> map = new HashMap<String,String>();
请注意HashMap<K,V>
是一个具体的类,但我们将它分配给Map<K,V>
引用,这是一个接口。这是Java中推荐的样式,因为它允许您切换HashMap
,例如Hashtable
在稍后阶段,无需改变一切。
答案 1 :(得分:4)
使用HashMap如下:
Map<String, String> dictionary = new HashMap<String, String>();
答案 2 :(得分:2)
Dictionary是一个抽象类,使用Hashtable
答案 3 :(得分:0)
Dictionary是一个遗留类。使用hashmap或者可以实现相同的功能 concurrentHashMap(如果需要同步Java 8)