Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: dl 14. 07. 2012, 15:53:11

Název: Java – datové typy
Přispěvatel: dl 14. 07. 2012, 15:53:11
Můžete mi prosím někdo objasnit, proč má Java primitivní datové typy? V čem je jejich výhoda oproti přístupu, který má např. Smalltalk (vše je objekt).
Případně, když mohu deklarovat číslo typu int jako primitivní typ nebo jako instanci třídy Integer, kdy je vhodné použít první a kdy druhý způsob?
Děkuji.
Název: Re:Java – datové typy
Přispěvatel: DK 14. 07. 2012, 16:37:26
viz napr http://stackoverflow.com/questions/2509025/when-to-use-primitive-and-when-reference-types-in-java
Název: Re:Java – datové typy
Přispěvatel: Franta 14. 07. 2012, 17:04:23
To aby céčkaři neremcali, že kvůli každému bajtovému číslu musí hned vytvářet objekt. :-)
Název: Re:Java – datové typy
Přispěvatel: Rax 14. 07. 2012, 17:21:41
Můžete mi prosím někdo objasnit, proč má Java primitivní datové typy? V čem je jejich výhoda oproti přístupu, který má např. Smalltalk (vše je objekt).
Případně, když mohu deklarovat číslo typu int jako primitivní typ nebo jako instanci třídy Integer, kdy je vhodné použít první a kdy druhý způsob?
Děkuji.

V Javě se primitivní typy dodělávaly proto, že nebylo prakticky možné aby se na každý triviální int alokovala nějaká instance, bylo to nepoužitelně pomalé.
Mít všechno objekt je následek objektového hujerství a velké nepochopení objektového programování jako celku, práce s primitivními typy nemá s OOP nic společného.
Název: Re:Java – datové typy
Přispěvatel: mjiyuyf 14. 07. 2012, 18:36:22
Python ale má vše jako objekty, ne?
Název: Re:Java – datové typy
Přispěvatel: pravdokop 14. 07. 2012, 19:42:30
Jediný jazyk, který je objektový a zároveň i rychlý je C++.
Název: Re:Java – datové typy
Přispěvatel: Ivan 15. 07. 2012, 10:13:35
Abys mohl napsat: c = a + b; namisto c = a.add(b);

Zkus nekdy na pocitani pouzit BigDecimal a uvidis jak je to pohodlny  a rychly.