我对地图很陌生而且我被困住了。我有以下TreeMap:
TreeMap<String, Map<String, Integer>> routes = new TreeMap<String, Map<String, Integer>>(); 例如,假设我的TreeMap填充如下:
{A={B=10, C=15, D=20}, B={C=35, D=25}, D={C=30}}现在,我试图从我的TreeMap中打印出Integer值,并将其分配给一个int x = routes.get(0).get(0),但是我得到了以下错误:
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer经过一段时间的阅读,我了解到我试图将一个字符串对象转换为一个不正确的Integer对象,这就是为什么x抛出错误的原因,这意味着我的B被分配给了B,而不是10。
因此,我的问题是,如何将x赋值为10?
发布于 2015-05-16 15:46:39
.get()正在尝试使用您声明的映射的键。由于您希望在MapA中找到值,所以您应该将其引用为:
int x = routes.get("A").get("B");https://stackoverflow.com/questions/30277625
复制相似问题