E
Eminenz
Gast
Hallo!
Ich habe ein gravierendes Problem mit folgendem Code:
Alle ArrayListen ("sqlValues"), die ich in "dataRows" einfüge, verweisen immer auf das gleiche Objekt. Ich habe dies auch schon über den Debugger überprüft. Anbei ein kurzes Beispiel:
Der "SqlValues" mit den Werten A,B,C (die Buchstaben stehen jeweils für ein "SqlValue-Objekt") wird in "dataRows" eingefügt. "dataRows" enthällt somit {(A,B,C)}
Im nächsten Durchlauf wird "SqlValues" mit den Werten D,E,F hinzugefügt.
"dataRows" enthält nun plötzlich {( D,E,F);( D,E,F)} und nicht {(A,B,C);( D,E,F)}
Woran kann das liegen? Ich bin echt schon am verzweifeln!
Hoffe mir kann jemand helfen.
MfG
Thorsten
Ich habe ein gravierendes Problem mit folgendem Code:
Code:
CsvReader reader;
ArrayList dataRows = new ArrayList();
SqlValue sqlValue = new SqlValue();
ArrayList sqlValues;
reader = new CsvReader(file,_delimiter);
reader.readHeaders();
while (reader.readRecord()){
sqlValues = new ArrayList();
for( int mi=0; mi<mapping.size(); mi++ )
{
sqlValue=(SqlValue)mapping.get(mi);
sqlValue.setValue(reader.get(sqlValue.getTag()));
sqlValues.add(sqlValue);
System.out.println(sqlValue.toString());
}
dataRows.add(sqlValues);
}
reader.close();
Alle ArrayListen ("sqlValues"), die ich in "dataRows" einfüge, verweisen immer auf das gleiche Objekt. Ich habe dies auch schon über den Debugger überprüft. Anbei ein kurzes Beispiel:
Der "SqlValues" mit den Werten A,B,C (die Buchstaben stehen jeweils für ein "SqlValue-Objekt") wird in "dataRows" eingefügt. "dataRows" enthällt somit {(A,B,C)}
Im nächsten Durchlauf wird "SqlValues" mit den Werten D,E,F hinzugefügt.
"dataRows" enthält nun plötzlich {( D,E,F);( D,E,F)} und nicht {(A,B,C);( D,E,F)}
Woran kann das liegen? Ich bin echt schon am verzweifeln!
Hoffe mir kann jemand helfen.
MfG
Thorsten