title image


Smiley Re: Objekte aus einer LinkedList / einem Vector herausnehmen ?
Hier erstmal ein Auszug aus der Klasse TFileReader, deren Aufgabe es ist die Datei auszulesen.



public void readMasterTable() {

dataObject = new TMasterTableDataObject();

MasterTableResultSet = new Vector();

String line;

try {

filereader = new LineNumberReader(new FileReader(filename));

while ((line = filereader.readLine()) != null) {

dataObject.readData(line);

MasterTableResultSet.add(dataObject);

}

filereader.close();

System.out.println("Got Master Table!");

} catch (IOException ex) {

System.out.println("Fehler beim Lesen der Datei!");

}

}



public Vector getMasterTableResultSet() {

return MasterTableResultSet;

}



Schief geht das ganze beim Auslesen des Vectors (aus einer anderen Klasse heraus) mit folgendem Code:



Vector data = obj.getMasterTableResultSet();

for (int i=0; i<1; i++) {

TMasterTableDataObject temp = (TMasterTableDataObject)data.get(i);

}



Die for-Schleife ist hier nur als Beispiel anzusehen, ich hab die ganze Prozedur stark vereinfacht um den Fehler zu isolieren.

Der Fehler ist bei Zeile "TMasterTableDataObject temp = (TMasterTableDataObject)data.get(i);" Wenn ich den Typecast mache ist das Resultat beim Auslesen Buchstabensalat, ohne Typecast gibt es die Meldung

"Type mismatch: cannot convert from Object to TMasterTableDataObject".

Den Code von TMasterTableDataObject häng ich ebenfalls an, ist aber relativ einfach.



Kann es sein daß es daran liegt daß ich in der Methode "readMasterTable()" für jeden Eintrag in den Vector das selbe Objekt "dataObject" benutze, nur immer mit anderen Werten?



===========================================



package app;

import java.util.*;



public class TMasterTableDataObject {



private char[] Symbol = new char[10];

private char[] Name = new char[30];

private char[] CUSIP = new char[12];

private char[] Etx = new char[10];

private char[] ITS = new char[1];

private char[] ICode = new char[4];

private char[] SharesOut = new char[10];

private char[] UOT = new char[4];

private char[] Denom = new char[1];

private char[] Type = new char[1];

private char[] DateF = new char[8];



public TMasterTableDataObject() {



}



public void readData(String data) {

this.Symbol = data.substring(0,10).toCharArray();

this.Name = data.substring(10,40).toCharArray();

this.CUSIP = data.substring(40,52).toCharArray();

this.Etx = data.substring(52,62).toCharArray();

this.ITS = data.substring(62,63).toCharArray();

this.ICode = data.substring(63,67).toCharArray();

this.SharesOut = data.substring(67,77).toCharArray();

this.UOT = data.substring(77,81).toCharArray();

this.Denom = data.substring(81,82).toCharArray();

this.Type = data.substring(82,83).toCharArray();

this.DateF = data.substring(83,91).toCharArray();

}



public Vector getDataAsVector() {

Vector temp = new Vector();

temp.add(this.Symbol); temp.add(this.Name); temp.add(this.CUSIP);

temp.add(this.Etx); temp.add(this.ITS); temp.add(this.ICode);

temp.add(this.SharesOut); temp.add(this.UOT); temp.add(this.Denom);

temp.add(this.Type); temp.add(this.DateF);

return temp;

}



public char[] getSymbol() {

return this.Symbol;

}



public char[] getName() {

return this.Name;

}



public char[] getCUSIP() {

return this.CUSIP;

}



public char[] getEtx() {

return this.Etx;

}



public char[] getITS() {

return this.ITS;

}



public char[] getICode() {

return this.ICode;

}



public char[] getSharesOut() {

return this.SharesOut;

}



public char[] getUOT() {

return this.UOT;

}



public char[] getDenom() {

return this.Denom;

}



public char[] getType() {

return this.Type;

}



public char[] getDateF() {

return this.DateF;

}



}



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: