Java Iterator <integer>:无法将next()强制转换为Integer

时间:2019-04-26 18:40:33

标签: java

我对Iterator有问题。如果我在Iterator对象中调用next()方法,则无法将返回值转换为Integer。你知道为什么吗?如果我调用iterator.next()。getClass()。getName(),它将返回这个非常奇怪的字符串:“ [I”。 谢谢您的答复!

1 个答案:

答案 0 :(得分:4)

.banner { width: 60%; margin: auto; } [I的JVM表示。

您没有int[],您有Iterator<Integer>(或更普遍的是Iterator<int[]>)。

通常会在尝试以下操作时发生:

Iterator<? super int[]>

因为int[] someIntArray = {1,2,3}; Iterator<int[]> iterator = Arrays.asList(someIntArray).iterator(); 作为通用方法,将仅接受引用类型的参数:Arrays.asList不是引用类型,而int是引用类型,所以int[]Arrays.asList(someIntArray),而不是预期的List<int[]>