Hi!
Also beim Objekttausch geht es nicht um das simple
Es geht vielmehr darum, dass ich versuche zwei Familien darzustellen und dass nun zwei Leute jeweils aus einer der Familien heiraten. Was mach ich dann? Folgende Definition:
Für folgendes Szenario:
Und sagt bitte nicht
Das Ergebnis wäre zwar das richtige, aber was, wenn Hans als Variable irgendwo die Familie seines besten Freundes Peter gespeichert hat? Dann könnte ich über Hans noch an die alte unvollständige Familie kommen und die sollte eig. gar nicht mehr existieren, damit der Garbage-Collector sie sich einverleiben kann!
Was ich machen möchte ist quasi ein Austausch aller Referenzen auf Peters Familie durch Annas Familie. Und am besten irgendwas performantes, ich kämpfe sowieso schon gegen Performance-Fresser in Form von Exceptions und dergleichen.
[OT]Apropos, hat jemand eine performante Idee, einen String auf ihren Zahlengehalt zu checken? Also zu prüfen, ob "73.57" eine Zahl ist und "te.st" keine, ohne eine Exception zu schmeißen?[/OT]
Es wäre echt cool, wenn jemand einen Vorschlag hätte, ich muss mein Projekt nämlich bis ich eine Idee habe auf Eis legen...
Mit freundlichen Grüßen,
Miikku
Also beim Objekttausch geht es nicht um das simple
Java:
Object a = new Object();
Object b = new Object();
{Object tmp=a;a=b;b=tmp;}
Java:
class Family{
public int ArrayList<Human> members;
public Family(){this.members = new ArrayList();}
public Family(Human[] members){
this.members = new ArrayList( Arrays.asList( members ) );
}
public void connectWithFamily( Family family ){
this = family; //Das geht natürlich nicht, aber darum geht es hier...
}
}
class Human{
public Human spouse;
public Family family;
public Human(Family family){
this.family = family;
}
public void marry(Human spouse){
this.spouse = spouse;
if( spouse.spouse != this )
spouse.marry( this );
this.family.connectWith( spouse.family );
}
}
Java:
Family petersFamily = new Family(), annasFamily = new Family();
Human peter = new Human(petersFamily);
Human petersMom = new Human(petersFamily);
Human anna = new Human(annasFamily);
Human annasMom = new Human(annasFamily);
peter.marry(anna);
if( petersMom.family == annasMom.family ) //Sollte zutreffen
System.out.println("Annas Mutter ist in der gleichen Familie, wie Peters Mutter!");
Java:
public void connectWithFamily( Family family ){
for( Human member : members )
member.family = family;
}
Was ich machen möchte ist quasi ein Austausch aller Referenzen auf Peters Familie durch Annas Familie. Und am besten irgendwas performantes, ich kämpfe sowieso schon gegen Performance-Fresser in Form von Exceptions und dergleichen.
[OT]Apropos, hat jemand eine performante Idee, einen String auf ihren Zahlengehalt zu checken? Also zu prüfen, ob "73.57" eine Zahl ist und "te.st" keine, ohne eine Exception zu schmeißen?[/OT]
Es wäre echt cool, wenn jemand einen Vorschlag hätte, ich muss mein Projekt nämlich bis ich eine Idee habe auf Eis legen...
Mit freundlichen Grüßen,
Miikku