Hirdetés

Új hozzászólás Aktív témák

  • bambano
    titán

    A logikád alapján (amit még nem értek, kérlek légy türelmes velem :) ), ha a get dob egy null-t, mert nincs inicializalva, amit majd vizsgálok az isEmpty-vel, de mért nem dob true-t, elvégre nagyonnagyon üres.

    A felépítés a következőképpen néz ki a fejemben (kérlek ezt is korrigáld, ha téves)
    1, Címterület foglalás (deklarálás) típusmegjelöléssel, változó név adással // int x;
    2, Mindaddig, míg nem kap kezdő értéket, "null" van benne, tehát üres. Itt a fejemben az isEmpty true. (de a valóságban nem true :P)
    3, Értékadás (inicializálás) // x=1;

    igen, téves.

    az elemi típusoknál, mint ami az int, ha deklarálod, lefoglalódik a helye. az értéke valami lesz, nem tudjuk, hogy inicializálás nélkül mi az értéke (leginkább a korábbi memória használat után ottmaradt szemét), de egy egész számként értelmezhető szám lesz ott.

    ezzel szemben az Int-nél (nagybetűvel), a deklaráció eredménye egy pointer, aminek a kezdeti értéke null, és amikor az Int típusú objektumot példányosítod, akkor lesz benne egy olyan pointer, ami az adott példányra mutat és nem null.

    ugyanez igaz a Stringre.

Új hozzászólás Aktív témák