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 次 |
| 最近记录: |