Hallo, ich hab mal wieder ein Problem und komme nicht weiter... Zumindest bin ich schon soweit, dass ich denke, dass es sich um ein Referenz-Problem handelt...
Hier erstmal der Programmcode:
Ich kann echt nicht erkennen, wo ich Referenzen nutze, sodass die jeweiligen Objekte immer identisch sind - was sie natürlich nicht sein sollen. Die im Vector tempFDMengeV hinzugefügten Objekte sollen alle schiedlich sein, was leider nicht der Fall ist.
Kann mir jemand helfen???
Gruß André
Hier erstmal der Programmcode:
Code:
private void stelleRMher() {
theBasis = new FDMenge((Vector)internVector.clone());
Vector tempFDMengeV = new Vector();
AttributMenge tempFDLinks;
AttributMenge tempFDRechts;
Attribut tempAttribut;
FunctionalDependency fd, tempFD;
AttributMenge tempNeueRechteSeite;
for (int i = 0; i < theBasis.count(); i++){
fd = (FunctionalDependency)theBasis.getElementByKey(i);
tempFDLinks = fd.getLinkeSeite();
tempFDRechts = fd.getRechteSeite();
if (tempFDRechts.count() > 1){
for (int j = 0; j < tempFDRechts.count(); j++){
tempNeueRechteSeite = new AttributMenge();
tempAttribut = (Attribut)tempFDRechts.getElementByKey(j);
tempNeueRechteSeite.addNew(tempAttribut);
tempFD = new FunctionalDependency(tempFDLinks,tempNeueRechteSeite);
tempFDMengeV.add(tempFD);
}
}
else {
tempFDMengeV.add(fd);
}
}
theBasis = new FDMenge(tempFDMengeV);
//Wenn ich die folgende Methode aufrufe, sind aus den anderen Objekten die jeweils linken Seiten auch leer, obwohl ich nur ein ganz bestimmtes Objekt ansprechen möchte.
((FunctionalDependency)theBasis.getElementByKey(0)).getLinkeSeite().clear();
Ich kann echt nicht erkennen, wo ich Referenzen nutze, sodass die jeweiligen Objekte immer identisch sind - was sie natürlich nicht sein sollen. Die im Vector tempFDMengeV hinzugefügten Objekte sollen alle schiedlich sein, was leider nicht der Fall ist.
Kann mir jemand helfen???
Gruß André