在Java错误中实例化Dictionary <T,U>

nav*_*een 35 java generics dictionary

在C#中

Dictionary<String, String> dictionary = new Dictionary<String, String>();
Run Code Online (Sandbox Code Playgroud)

在Java中,这个错误随之而来

无法实例化类型Dictionary

可能有什么不对?

在我的代码中,接下来是

dictionary.put("vZip", jsonUdeals.getString("vZip"));
Run Code Online (Sandbox Code Playgroud)

我知道这听起来太琐碎了.但我不知所措!
如果Dictionary没有这样做(我现在强烈怀疑),那么使用哪个DataStructure.

Oli*_*rth 74

Dictionary是Java中的抽象类.它也是过时的; 你应该使用Map界面; 就像是:

Map<String,String> map = new HashMap<String,String>();
Run Code Online (Sandbox Code Playgroud)

请注意,这HashMap<K,V>是一个具体的类,但我们将它分配给Map<K,V>引用,这是一个接口.这是Java的推荐款式,因为它允许你切换HashMap为例如Hashtable在后一阶段,而无需改变一切.

  • @naveen:你是第一个听说过比Eclipse更喜欢Eclipse的人.我一般喜欢开源,但Visual Studio是迄今为止我用过的最好的IDE.虽然我希望有一天Eclipse能够达到这个水平. (28认同)
  • @naveen:很快你会感到沮丧,例如垃圾Java泛型是什么,以及缺乏运算符重载等等......! (18认同)