Vektor wird überschrieben

hury

Erfahrenes Mitglied
Hallo,
mein Vektor wird anscheinend überschrieben:

Code:
Vector<String[]> logData = new Vector<String[]>();
		String[] logEntry = new String[5];
		int i = 0;
		
		// read file
		try {
			BufferedReader in = new BufferedReader(new FileReader(file.getAbsolutePath()));
			String zeile = null;
			
			// collect the log data and group by loops
			while ((zeile = in.readLine()) != null) 
			{				
				logEntry[i] = zeile;
							
				// 4 loops collected, add to vector
				if (i == 3) 
				{
					i = 0;
					logData.add(logEntry);
					System.out.println(logData.get(0)[1]);
										
				}								
				else
				{
					i++;
				}
			}
		} catch (IOException e) {
			e.printStackTrace();
		}

Ausgabe:
Loop:2,Delay:30,LeanL:3.0,LeanR:5.0,TPS:3.0,ADC1:0,ADC2:0,ADC3:0,ADC4:0,Freq:50.3
Loop:2,Delay:30,LeanL:0,LeanR:5.0,TPS:0.0,ADC1:0,ADC2:0,ADC3:0,ADC4:0,Freq:50.3
Loop:2,Delay:30,LeanL:2,LeanR:5.0,TPS:3.0,ADC1:0,ADC2:0,ADC3:0,ADC4:0,Freq:50.3

Da ich aber immer das gleiche Element ausgebe (System.out.println(logData.get(0)[1]);) sollte es sich doch nicht ändern. Was ist da los?
 
Dein i setzt du ja immer wieder auf 0 zurück. Also überschreibst du bei
Java:
logEntry[i] = zeile;
Immer wieder die Daten.
Außerdem: Jedes Element in deinem Vektor referenziert das gleiche Objekt wie logData
 
Zurück