Java - nemožnost ukládání primitivních typů do kolekcí

Karl

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?


Xxx

Re:Java - nemožnost ukládání primitivních typů do kolekcí
« Odpověď #1 kdy: 13. 06. 2018, 07:43:27 »
Protoze nededi od Object.

borekz

  • ****
  • 492
    • Zobrazit profil
    • E-mail
Re:Java - nemožnost ukládání primitivních typů do kolekcí
« Odpověď #2 kdy: 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ů".
« Poslední změna: 13. 06. 2018, 08:05:24 od borekz »

Xxx

Re:Java - nemožnost ukládání primitivních typů do kolekcí
« Odpověď #3 kdy: 13. 06. 2018, 08:44:13 »
O kterou skolu jde?

Vaclav

Re:Java - nemožnost ukládání primitivních typů do kolekcí
« Odpověď #4 kdy: 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...


Rokcster

Re:Java - nemožnost ukládání primitivních typů do kolekcí
« Odpověď #5 kdy: 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

anonym

Re:Java - nemožnost ukládání primitivních typů do kolekcí
« Odpověď #6 kdy: 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.

v

Re:Java - nemožnost ukládání primitivních typů do kolekcí
« Odpověď #7 kdy: 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

Re:Java - nemožnost ukládání primitivních typů do kolekcí
« Odpověď #8 kdy: 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. :-)

v

Re:Java - nemožnost ukládání primitivních typů do kolekcí
« Odpověď #9 kdy: 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