【发布时间】:2017-06-21 22:47:23
【问题描述】:
我有一个名为“virtuosoMap”的HashMap,结构如下:
{facebook=[[1, 22, 333], [4444, 55555, 66666]], twitter=[[1, 22, 333], [4444, 55555, 66666], [7777777, 22, 55555], [55555, 666666, 22]]}
我正在尝试遍历此地图并获取每个 long[] Array 的第一个数值(即 1 和 4444 用于 facebook),但我在 Eclipse 中遇到以下错误:
Exception in thread "main" java.lang.ClassCastException: java.util.ArrayList cannot be cast to [J at...
这是我目前编写的代码:
for (Map.Entry<String, List<long[]>> virtuosoMapSingle : virtuosoMap.entrySet()) {
for (long[] virtuosoMapSingleNumbers : virtuosoMapSingle.getValue()) {
System.out.println(virtuosoMapSingleNumbers.get(0));
}
}
我错过了什么?
【问题讨论】:
-
哪一行,确切地,导致了错误?
-
错误来自本例的第二行:"for (long[] virtuosoMapSingleNumbers : virtuosoMapSingle.getValue()) {"
-
@kiner_shah 我可以,但我觉得其余代码与此示例无关。
-
数组没有
get方法。 -
@Andrevin 错误实际上并非来自该行,而是来自上面的行。但是你的观点已经被注意到了。
标签: java arrays loops for-loop hashmap