我在HashMap中存储了一个double值,如图所示
HashMap listMap = new HashMap();
double mvalue =0.0;
listMap.put("mvalue",mvalue );
Run Code Online (Sandbox Code Playgroud)
现在,当我试图检索该值时,如图所示
mvalue = Double.parseDouble((String) listMap.get("mvalue"));
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
java.lang.Double无法强制转换为java.lang.String
我在这里很困惑,
这是我的实际HashMap,我正在设置它中的值,如图所示
HashMap listMap = new HashMap();
double mvalue =0.0 ;
List<Bag> bagList = null;
listMap.put("bagItems",bagList);
listMap.put("mvalue", mvalue);
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我,HashMap的结构应该如何?
你在地图上放了一个Double.不要先转换为String.这将有效:
HashMap<String, Double> listMap = new HashMap<String, Double>();
mvalue = listMap.get("mvalue");
Run Code Online (Sandbox Code Playgroud)
您的原始double被自动装箱到双重对象.使用泛型来避免需要施放,这是<String, Double>一部分.
| 归档时间: |
|
| 查看次数: |
39494 次 |
| 最近记录: |