所以我找到了可能解析数学表达式并计算答案的源代码。但是,在声明新映射时,代码包含语法错误。这个新地图应该包含一个字符串和一个数字。我知道地图不能引用原始类型,例如double。我该如何解决这个问题?
private Map<String, double=""> user_var = new HashMap<String, double="">();
要查看其余代码,可以访问here
谢谢
答案 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。