webForumDet fria alternativet

this

1 svar · 369 visningar · startad av Tobias

TobiasMedlem sedan jan. 200133 inlägg
#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

SPiNMedlem sedan mars 20007 896 inlägg
#2

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]

124 ms totalt · 3 externa anrop · v20260731065814-full.3292ce1b
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)