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