Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Karl 13. 06. 2018, 07:27:54

Název: Java - nemožnost ukládání primitivních typů do kolekcí
Přispěvatel: Karl 13. 06. 2018, 07:27:54
Ve škole byla v testu otázka: Vysvětlete proč Java neumožnuje ukládání primitivních typů do kolekcí (přímo, bez obalování). Co byste odpoveděli?
Název: Re:Java - nemožnost ukládání primitivních typů do kolekcí
Přispěvatel: Xxx 13. 06. 2018, 07:43:27
Protoze nededi od Object.
Název: Re:Java - nemožnost ukládání primitivních typů do kolekcí
Přispěvatel: borekz 13. 06. 2018, 08:02:04
Protože učitel nikdy neslyšel o trove4j. V otázce mělo být "do kolecí objektů".
Název: Re:Java - nemožnost ukládání primitivních typů do kolekcí
Přispěvatel: Xxx 13. 06. 2018, 08:44:13
O kterou skolu jde?
Název: Re:Java - nemožnost ukládání primitivních typů do kolekcí
Přispěvatel: Vaclav 13. 06. 2018, 08:58:42
Protože učitel nikdy neslyšel o trove4j. V otázce mělo být "do kolecí objektů".
Předpokládám, že učitel měl na mysli Java v rozsahu JDK API. A buď to špatně zapsal (jeho chyba, špatně položená otázka), nebo to tazatel špatně interpretoval...
Název: Re:Java - nemožnost ukládání primitivních typů do kolekcí
Přispěvatel: Rokcster 13. 06. 2018, 09:53:50
Language design decision. Implementace kolekci je napriklad mnohem jednodussi kdyz ukladam jen reference s konstantni velikosti nez primitiva jejichz velikost se muze lisit. Ale odpovedi muze byt vice spravnych. Tohle bych napsal ja
Název: Re:Java - nemožnost ukládání primitivních typů do kolekcí
Přispěvatel: anonym 13. 06. 2018, 10:12:29
Jedna odpověď je, taková študácká, že to nedědí z Object, což kolekce vyžadují. Ta přesnější odpověď ale je, že to prostě Java neumožňuje, protože to prostě neumožňuje, protože to neumožňuje. Prostě to do ní nedali, jako spoustu dalších věcí.

Někdo se mě třeba ptal, jestli vím, proč tam je type erasure. Odpověď se čeká ta, že je to kvůli zpětné kompatibilitě, neumožňuje to bytecode. Ale přesná odpověď je, že to Java prostě jinak NEUMÍ!

Prostě Java a JVM má návrhové chyby a tohle jsou jedny z nich. Ale ve škole to raději neříkej, protože jestli je opravovatel blbec, tak se mu to nebude líbit.
Název: Re:Java - nemožnost ukládání primitivních typů do kolekcí
Přispěvatel: v 13. 06. 2018, 10:19:25
Prostě Java a JVM má návrhové chyby a tohle jsou jedny z nich.
já bych to spíš nazval volbou (byť kontroverzní) než přímo chybou, ono to fakt hodně ulehčí
Název: Re:Java - nemožnost ukládání primitivních typů do kolekcí
Přispěvatel: n 13. 06. 2018, 11:33:43
Prostě Java a JVM má návrhové chyby a tohle jsou jedny z nich.
já bych to spíš nazval volbou (byť kontroverzní) než přímo chybou, ono to fakt hodně ulehčí

Zalezi co ulehci... asi myslis implementaci standardnich kolekci, ne praci s tim, kdyz je potreba pak 3rd party kolekce, nebo si psat vlastni. :-)
Název: Re:Java - nemožnost ukládání primitivních typů do kolekcí
Přispěvatel: v 13. 06. 2018, 11:47:56
Prostě Java a JVM má návrhové chyby a tohle jsou jedny z nich.
já bych to spíš nazval volbou (byť kontroverzní) než přímo chybou, ono to fakt hodně ulehčí

Zalezi co ulehci... asi myslis implementaci standardnich kolekci, ne praci s tim, kdyz je potreba pak 3rd party kolekce, nebo si psat vlastni. :-)
tříd, struktur, polí, co na daný jazyk pasuje, prostě element struktury je třeba reference[3], bez ohledu na velikost předchozích elementů, zarovnání na dané platformě apod.
rychlosti to moc nepřidá, to je pravda