TTobiasMedlem sedan jan. 200133 inlägg Frågan#1 Se följande kod:
public class BinaryTree
{
public void merge( Object rootItem, BinaryTree t1, BinaryTree t2 )
{
if( t1.root == t2.root && t1.root != null )
{
System.err.println( "leftTree==rightTree; merge aborted" );
return;
}
// Allocate new node
root = new BinaryNode( rootItem, t1.root, t2.root );
// Ensure that every node is in one tree
if( this != t1 )
t1.root = null;
if( this != t2 )
t2.root = null;
}
private BinaryNode root;
}
Vad är this i denna kontext? Brukar ju användas som this.nånting ?
------------------
Med vänliga hälsningar
Tobias Bohlin
SSPiNMedlem sedan mars 20007 896 inlägg this är den egna klassen.
I if-satserna jämför man this med t1, och t1 är av typen BinaryTree, vilket även this motsvarar.
Alltså jämför man en instans av den egna klassen med sig själv, för att se om de är lika.
------------------
SPiN, bjorne.w@telia.com
-- They pretend to pay me, I pretend to work --
[Redigerat av SPiN den 31 maj 2001]