语法错误 - 将“double”作为基本类型传递给map

时间:2012-07-09 13:48:31

标签: java

所以我找到了可能解析数学表达式并计算答案的源代码。但是,在声明新映射时,代码包含语法错误。这个新地图应该包含一个字符串和一个数字。我知道地图不能引用原始类型,例如double。我该如何解决这个问题?

private Map<String, double=""> user_var = new HashMap<String, double="">();

要查看其余代码,可以访问here

谢谢

5 个答案:

答案 0 :(得分:2)

这是一个不正确的声明。正确的是:

private Map<String, Double> user_var = new HashMap<String, Double>();

答案 1 :(得分:2)

您可以使用TObjectDoubleHashMap允许字符串键和double值。

答案 2 :(得分:1)

使用Map<String, Double> map = new HashMap<String, Double>();

感谢autoboxing,您可以像

一样使用它
map.put("one",1d);
double d = map.get("one");

答案 3 :(得分:1)

Map不能包含任何类型的基元。您可以使用double的包装类创建一个,但是:

private Map<String, Double> user_var = new HashMap<String, Double>();

然后可以(几乎)使用它,就像它包含双打一样:

double value = 2.3;
user_var.put("myVar", value);

答案 4 :(得分:1)

Java具有包装类,允许您使用需要Object的基本类型。基本类型double的包装类名为Double。有关详细信息,请参阅here