Hallo,
ich habe ein kleines Problem in meinem Code und bin langsam am durchdrehen . Dank des Debuggers habe ich herausgefunden das ich irgendwo Mist gebaut habe in dieser Klasse. Er gibt mir immer nur eine Liste zurück die das selbe Objekt viermal beinhaltet. Also meine Liste: myList hat zwar dann 4 Objekte aber eben immer das selbe ( Das letzte, also praktisch den Inhalt der letzten Zeile). Ich vermute ich hab das Prinzip von Objektreferenzen noch nicht ganz so durchschaut, bzw irgendwie vermute ich der Fehler hängt damit zusammen.
Was ich nun wissen möchte, wie bekomme ich meine Zeilen (Eine Zeile soll eben ein DataHolder Objekt sein) ordendlich in meine Liste?
Für eure Hilfe wäre ich sehr dankbar ich bin echt langsam am verzweifeln.
Die .txt sieht so aus (Inhalt):
25.04.2011 10:41:23;0,037;0,000;0;0,410;
25.04.2011 10:41:33;0,056;0,000;0;0,527;
25.04.2011 10:41:43;0,015;0,000;0;0,061;
25.04.2011 10:41:53;0,010;0,000;0;0,510;
ich habe ein kleines Problem in meinem Code und bin langsam am durchdrehen . Dank des Debuggers habe ich herausgefunden das ich irgendwo Mist gebaut habe in dieser Klasse. Er gibt mir immer nur eine Liste zurück die das selbe Objekt viermal beinhaltet. Also meine Liste: myList hat zwar dann 4 Objekte aber eben immer das selbe ( Das letzte, also praktisch den Inhalt der letzten Zeile). Ich vermute ich hab das Prinzip von Objektreferenzen noch nicht ganz so durchschaut, bzw irgendwie vermute ich der Fehler hängt damit zusammen.
Was ich nun wissen möchte, wie bekomme ich meine Zeilen (Eine Zeile soll eben ein DataHolder Objekt sein) ordendlich in meine Liste?
Für eure Hilfe wäre ich sehr dankbar ich bin echt langsam am verzweifeln.
Java:
package greenUploader;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
public class ReadIn {
BufferedReader myreader;
List<DataHolder> myList = new ArrayList<DataHolder>();
public ReadIn() {
}
public List<DataHolder> readIn(String filename) throws IOException {
DataHolder myDataHolder = new DataHolder();
String zeile = null;
myreader = new BufferedReader(new FileReader(filename));
while ((zeile = myreader.readLine()) != null) {
StringTokenizer st = new StringTokenizer(zeile, ";");
myDataHolder.setdTime((String)st.nextToken());
myDataHolder.setvalueorginal(Double.parseDouble(st.nextToken()
.replace(',', '.')));
myDataHolder.setvalueedit(Double.parseDouble(st.nextToken()
.replace(',', '.')));
myDataHolder.setstatus(Integer.parseInt(st.nextToken()));
myDataHolder.setvaluemax(Double.parseDouble(st.nextToken().replace(
',', '.')));
myList.add(myDataHolder);
}
return myList;
}
}
Die .txt sieht so aus (Inhalt):
25.04.2011 10:41:23;0,037;0,000;0;0,410;
25.04.2011 10:41:33;0,056;0,000;0;0,527;
25.04.2011 10:41:43;0,015;0,000;0;0,061;
25.04.2011 10:41:53;0,010;0,000;0;0,510;