无法使用Key从Java HashMap获取值

时间:2017-02-16 10:24:19

标签: java android exception hashmap

这是我的HashMap对象:

public static Map<String, Integer> kart = new HashMap<String, Integer>();
String pIndex="Any Index Value";
int value=anyIntegerValue;

更新卡丁车的代码:

Globals.kart.put(pIndex, value);

检查索引和获取值的代码:

String inKart = "Product is not in Kart";
if(Globals.kart.containsKey(pIndex)){
    int count = Globals.kart.get(pIndex);
    inKart = "Product is in Kart " + count;
}
System.out.print(inKart);

它成功检查了密钥,但是当它试图根据密钥从卡丁车获取值时,它会抛出异常,字符串资源ID#0x1

No package identifier when getting value for resource number 0x00000001
android.content.res.Resources$NotFoundException: String resource ID #0x1

所有示例都显示我可以使用String键获取值,但它对我不起作用。我在这里做错了什么?

修改

我编辑了一些打字错误,并将一些变量名称重写为我在原始代码中编写的内容。

请注意,如果我使用 containsKey(pIndex)检查密钥,则不会出现任何错误。仅在行 kart.get(pIndex)

中发生异常

有些评论提到错误与HashMap无关。如果是这种情况,请解释为什么此代码仅在Android中抛出该特定行的异常。

1 个答案:

答案 0 :(得分:0)

HashMap返回一个整数值,在TextView中被伪装成整数或char。所以我用String明确地对它进行了类型化,一切都很好。

再次感谢。

Ram Ram