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 17:11 | Komunita

Na konferenci herních vývojářů GDC 2019 (Game Developers Conference) měla svůj stánek i společnost Red Hat. Návštěvníci si mohli zahrát počítačové hry na Fedoře 29 s Cinnamonem a Lutrisem.

Ladislav Hagara | Komentářů: 0
dnes 15:33 | Komunita

O víkendu probíhá v Cambridgi (MA) konference LibrePlanet 2019 organizovaná Nadací pro svobodný software (FSF). Na programu je řada zajímavých přednášek. Sledovat je lze také online.

Ladislav Hagara | Komentářů: 1
včera 21:33 | Humor

Richard M. Stallman v článku Install Fests: What to Do about the Deal with the Devil navrhuje, jak se vypořádat s morálním dilematem, zda na „installfestech“ (akcích, kde zkušení uživatelé pomáhají nováčkům nainstalovat GNU/Linux na přinesený hardware) instalovat také nesvobodný software, typicky ovladače. Vzdělávací přístup je „škola hrou“, kdy instalace právě nesvobodného softwaru provádí postava „Ďábla“.

Fluttershy, yay! | Komentářů: 8
včera 14:44 | Komunita

Dalších sedm produktů od společnosti ThinkPenguin získalo certifikaci RYF (Respects Your Freedom, Respektuje vaši svobodu) udělovanou Nadací pro svobodný software (FSF). Poprvé získal certifikaci USB mikrofon, konkrétně TPE-USBMIC. Certifikace RYF byla představena v říjnu 2012.

Ladislav Hagara | Komentářů: 0
včera 13:33 | Komunita

Na Humble Bundle lze získat počítačovou hru Tacoma (YouTube, Wikipedie) běžící také v Linuxu zdarma. Speciální akce končí v neděli v 18:00.

Ladislav Hagara | Komentářů: 0
včera 11:11 | Zajímavý projekt

Na Kickstarteru byla spuštěna kampaň na podporu zařízení NexDock 2. Jedná se o přenosnou dokovací stanici aneb notebook bez procesoru a paměti. Stačí připojit podporovaný telefon s Androidem nebo Raspberry Pi.

Ladislav Hagara | Komentářů: 0
včera 09:55 | Zajímavý článek

Před týdnem byly vydány nové verze 4.2.11.1, 5.0.7.2, 5.1.6.2, 5.2.2.1 a 6.0.0.beta3 frameworku pro vývoj webových aplikací Ruby on Rails (Wikipedie). Opraveny byly 3 bezpečnostní chyby: CVE-2019-5418, CVE-2019-5419 a CVE-2019-5420. Analýza CVE-2019-5418 (zobrazit si lze libovolný soubor na serveru, například /etc/passwd) na blogu Chybeta.

Ladislav Hagara | Komentářů: 1
21.3. 23:33 | Zajímavý projekt

Na Humble Bundle byla spuštěna akce Humble Book Bundle: Web Programming by O'Reilly. Za 1 dolar a více lze koupit 5 elektronických knih, za 8 dolarů a více lze koupit 11 elektronických knih a za 15 dolarů a více lze koupit 17 elektronických knih věnovaných webovému programování od nakladatelství O'Reilly Media. Část ceny lze určit charitě.

Ladislav Hagara | Komentářů: 0
21.3. 23:00 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 162. brněnský sraz, který proběhne v pátek 22. března od 18:00 v restauraci Slatinský šenk na adrese Zlínská 12.

Ladislav Hagara | Komentářů: 1
21.3. 16:22 | Nová verze

Jonathan Thomas oznámil vydání nové verze 2.4.4 video editoru OpenShot (Wikipedie). Přehled novinek na YouTube. Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.

Ladislav Hagara | Komentářů: 0
Kolik balíčků (v tisících) máte nainstalovaných na svém systému?
 (4%)
 (13%)
 (33%)
 (30%)
 (19%)
 (3%)
 (2%)
 (1%)
 (3%)
Celkem 231 hlasů
 Komentářů: 22, poslední včera 12:39
Rozcestník

Dotaz: Java-ArrayList bez typového parametru

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

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: 30 | 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.