Hallo zusammen,
ich habe in einem Vector unterschiedliche Objekte gespeichert. Nun lese ich diese mit einem Listiterator aus. Der erste Durchlauf funktioniert auch prima (zaehler == 0), aber beim 2. Durchlauf erhalte ich eine "ClassCastException".
Deshalb die Frage, wie arbeitet der iter.next().
Was habe ich hier falsch gemacht und somit nicht verstanden?
Danke für eien Tipp!
ich habe in einem Vector unterschiedliche Objekte gespeichert. Nun lese ich diese mit einem Listiterator aus. Der erste Durchlauf funktioniert auch prima (zaehler == 0), aber beim 2. Durchlauf erhalte ich eine "ClassCastException".
Deshalb die Frage, wie arbeitet der iter.next().
Was habe ich hier falsch gemacht und somit nicht verstanden?
Danke für eien Tipp!
Code:
package projekt;
import java.util.Iterator;
import java.util.Vector;
public class SqlDataManager {
private AsciiDataManager asciiDataManager;
private Iterator iter;
private Vector vector;
private int zaehler;
private StringBuffer s;
public SqlDataManager() {
super();
asciiDataManager = new AsciiDataManager();
vector = asciiDataManager.getAsciiDataManager();
iter = vector.listIterator();
prestmt = null;
con = null;
prepareData();
}
public String prepareData(){
zaehler = 0;
s = new StringBuffer();
while(iter.hasNext())
{
if (zaehler == 0) {
InputFormatSatzart00 ifs00 = (InputFormatSatzart00)iter.next();
s.append(ifs00.getKNZNR());
// ... dies wird noch sauber aufbereitet
s.append("\n");
System.out.println("ifs00 :" + s.toString());
}
else if (zaehler == 1) {
// hier kommt er noch rein, aber erzeugt eine ClassCastException !!!
InputFormatSatzart10 ifs10 = (InputFormatSatzart10)iter.next();
s.append(ifs10.getKNZNR());
// ...
s.append("\n");
System.out.println("ifs10 :" + s.toString());
}
zaehler++;
}
return s.toString();
}
}