Xon*_*ron 1 java iterator casting
在Java中,当你迭代器过Vector<String[]>
,为什么是.next()
一个Object
需要被强制转换为String[]
,使用每个元素作为String[]
?
编辑:
这是我的代码:
Iterator itr = getIdAndName().iterator();
while( itr.hasNext() ) {
String[] stringArray = (String[])itr.next();
String id = stringArray[0];
String name = stringArray[1];
System.out.println(id + ": " + name);
}
Run Code Online (Sandbox Code Playgroud)
getIdAndName()
回报Vector<String[]>
.
Mar*_*ers 13
事实并非如此.我唯一能想到的是你没有输入你的迭代器,即你这样做:
Vector<String[]> vector;
Iterator it = vector.iterator();
Object obj = it.next();
Run Code Online (Sandbox Code Playgroud)
当你应该做的时候:
Vector<String[]> vector;
Iterator<String[]> it = vector.iterator();
String[] next = it.next();
Run Code Online (Sandbox Code Playgroud)
好吧,在大多数情况下,你实际上并不直接需要迭代器,所以你可以使用:
Vector<String[]> vector;
for (String[] element : vector) {
//...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11996 次 |
最近记录: |