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í
×
    dnes 16:55 | Nová verze

    Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    dnes 15:44 | Zajímavý software

    Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční

    … více »
    2012 | Komentářů: 0
    dnes 12:55 | Zajímavý software

    Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 01:11 | Nová verze

    Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Komunita

    Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.

    Ladislav Hagara | Komentářů: 7
    včera 11:00 | IT novinky

    Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.

    Ladislav Hagara | Komentářů: 2
    včera 10:22 | Zajímavý software

    Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.

    Ladislav Hagara | Komentářů: 5
    včera 03:33 | Zajímavý software Ladislav Hagara | Komentářů: 1
    včera 00:11 | Nová verze

    Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (10%)
     (21%)
     (3%)
     (5%)
     (2%)
     (11%)
     (36%)
    Celkem 579 hlasů
     Komentářů: 17, poslední včera 15:24
    Rozcestník

    Dotaz: Java-ArrayList bez typového parametru

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

    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.