abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:44 | Zajímavý článek

    Jak si zobrazit pomocí Chrome a na Chromiu založených webových prohlížečích stránky s neplatným certifikátem? Stačí napsat thisisunsafe.

    Ladislav Hagara | Komentářů: 0
    včera 00:33 | Bezpečnostní upozornění

    V repozitáři AUR (Arch User Repository) linuxové distribuce Arch Linux byly nalezeny a odstraněny tři balíčky s malwarem. Jedná se o librewolf-fix-bin, firefox-patch-bin a zen-browser-patched-bin.

    Ladislav Hagara | Komentářů: 9
    včera 00:22 | Komunita

    Dle plánu by Debian 13 s kódovým názvem Trixie měl vyjít v sobotu 9. srpna.

    Ladislav Hagara | Komentářů: 0
    19.7. 13:22 | Komunita

    Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.

    Ladislav Hagara | Komentářů: 1
    18.7. 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    18.7. 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 1
    17.7. 18:44 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 1
    17.7. 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 4
    17.7. 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 6
    16.7. 21:22 | IT novinky

    Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.

    Ladislav Hagara | Komentářů: 19
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (26%)
     (18%)
     (6%)
     (6%)
     (3%)
     (6%)
     (3%)
     (32%)
    Celkem 34 hlasů
     Komentářů: 4, poslední včera 16:33
    Rozcestník

    Dotaz: Java-ArrayList bez typového parametru

    13.6.2018 10:30 Elka
    Java-ArrayList bez typového parametru
    Přečteno: 1890×

    Pokud mám nějaké dvě nesouvisející třídy A,B a udělám toto:

    ArrayList list=new ArrayList();

    list.add(new B());

    Jak je možné, že mi to projde a bude fungovat, když jsem v konstruktoru toho ArrayListu zadala typový parametr A?

    Odpovědi

    13.6.2018 10:56 rtfm
    Rozbalit Rozbalit vše Re: Java-ArrayList bez typového parametru
    https://docs.oracle.com/javase/tutorial/java/generics/erasure.html

    ArrayList<X> je stále to samé jako ArrayList, akorát si tam kompilátor při vybírání hodnot z něj domyslí typecast Object -> X . Co neprojde je naplnit ArrayList hodnotama typu A a pokusit se z něj vybrat B. To spadne za běhu s výjimkou.
    13.6.2018 11:21 Elka
    Rozbalit Rozbalit vše Re: Java-ArrayList bez typového parametru
    Omlouvám se, ale špatně jsem to napsala. U toho ArrayListu jsem měla na straně konstruktoru <A>, omylem se to však interpretovalo jako tag <A> pro web...
    13.6.2018 12:03 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
    Rozbalit Rozbalit vše Re: Java-ArrayList bez typového parametru
    Protože tohle udělá syrový list (bez ohledu na typový parametr na pravé straně):
    List l = new ArrayList<A>();
    
    zatímco vy chcete asi toto:
    List<A> l = new ArrayList<>();
    
    což je ekvivalent tohoto:
    List<A> l = new ArrayList<A>();
    
    Jinými slovy jste přidávala do syrového listu, měla byste dostat varování. Pokud máte javu 9 (nebo 10) můžete pro rychlé testování (nejen) těchto věcí použít jshell, vypadá to pak nějak takto (všimněte si, že dostáváte varování v případě A i B):
    jshell> class A extends Object {}
    |  created class A
    
    jshell> class B extends Object {}
    |  created class B
    
    jshell> List l = new ArrayList<A>();
    l ==> []
    
    jshell> l.add(new A());
    |  Warning:
    |  unchecked call to add(E) as a member of the raw type java.util.List
    |  l.add(new A());
    |  ^------------^
    $4 ==> true
    
    jshell> l.add(new B());
    |  Warning:
    |  unchecked call to add(E) as a member of the raw type java.util.List
    |  l.add(new B());
    |  ^------------^
    $5 ==> true
    
    
    -- OldFrog

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.