Hirdetés

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

  • skoda12
    aktív tag

    Hello!

    Ismételten lenne kérdésem:

    1. Long: Long defje, hogy egy long típust objektumba csomagol. Most találkoztam vele még csak használatban a példában.protected Long vonalKod és a long vonalKod közötti gyakorlati különbsége érdekel.
    Vagyis az, hogy mikor melyiket érdemes használni?

    Én a lenti példában csak azt látom, hogy azért érdemes használni, hogy a get()-el így el lehet érni. Egyelőre más előnyét nem látom.
    Az elelmiszerpult az egy Hashtable És én ez alapján úgy gondoltam, hogy csak a Hashtable miatt használom...

    Példában ahol használva van:
    public void feltoltElelmiszer(Long vonalKod, long mennyiseg) throws BoltKivetel {
    BoltBejegyzes b = (BoltBejegyzes)elelmiszerpult.get(vonalKod);
    if (b==null)
    throw new NemLetezoAruKivetel("Ilyen aru nincsen: "+vonalKod);
    b.adMennyiseg(mennyiseg);
    }

    2. Constructor:
    public Bolt(String nev, String cim, String tulajdonos)
    {
    this(nev, cim, tulajdonos, new Hashtable());
    }

    és ez is teljes értékű constructor? (mármint úgy értem, hogy amit a fejlesztői társadalom elfogad? Még sosem találkoztam az előbbi megoldással, eddig)
    :R

    1.
    Nyilvan rengeteg kulonbseg van long es Long kozt.
    Long egy referencia tipus, long egy primitiv tipus. Ha ranezel a Long dokumentaciojara, akkor latod, hogy tele van konverzios metodusokkal, amik jol jonnek, ha nem akarsz castolni pl.
    Masreszt Long immutable, mig long nem.
    Templatek megadasanal csak referencia tipust hasznalhatsz, tehat nem irhatsz olyat, hogy List<long>.
    Ettol fuggetlenul elelmiszerpult.get(vonalKod), akkor is mukodik ha vonalKod long tipusu, ekkor ugyanis egy Long-ba lesz becsomagolva autoboxingnak koszonhetoen.

    2.
    Az is teljes erteku megoldas lehet, ha csak egy this() hivodik meg a konstruktorodban. Mondjuk Hashtable tipikusan nem az a tipus, ami neked kell.

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