Mi a csomagolás és kicsomagolás (ökölvívás
Munkavégzés tárgyak szükségessé memória felső és a sebesség. Ennek elkerülése érdekében a változók primitív típusok használnak. Ez valójában egyszerű változók, mint a C vagy C ++ nyelven. byte foglal 1 byte memóriát, int és float - 4 byte hosszú és dupla - .. 8 bájt, stb eltérően műveletek tárgyakkal, műveletek változó primitívek nem igényelnek allokációs / felszabadítás és gyorsan végrehajtják - ők a legtöbb esetben végül össze egy egyszerű processzor utasítás, amely lehetővé teszi programok Java gyakran olyan sebességgel hasonlítható írt programok egyszerű összeállítása (közvetlenül gépi kód) nyelvek (például a C, C ++).
A hátránya bennük az, hogy nem tud mit tehetünk az összes objektum - nem rendelkeznek a módszerek (nem lehet például, hogy írjon nekik nem kell elhelyezni a gyűjtemény, és így tovább.
Annak érdekében, hogy megkerüljék ezt a kellemetlenséget, minden primitív típusok léteznek megfelelő átalakító osztályok, tárgyak, amelyeken elfér értékeket primitív típusok, de ez az összes tulajdonságait normál tárgyak:
Minden shell tárgyak - .. Változatlan (megváltoztathatatlan) típusú, azaz, ha szánunk egy új értéket, sőt a csere még egy objektum létrehoz egy újat.
Válaszol október 28 '16 at 13:47
A verziók alacsonyabb JDK 1.5 nem volt könnyű átalakítani primitív adattípusok, mint például int, char, float, double az osztályokat Egész shell, Character, Float, Double. Kezdve JDK 5-ös verzió ezt a funkciót, átalakítása primitívek, hogy egyenértékű tárgyakat valósul automatikusan. Ez a tulajdonság az úgynevezett Avtoupakovka (Autoboxing). A fordított folyamat, illetve - kicsomagolása (Unboxing) azaz A folyamat átalakításának tárgyak be a megfelelő primitív típusok.
Mintakódja avtoupakovki és dekompressziós az alábbiakban mutatjuk be:
Ha használt avtoupakovka és kicsomagolás?
Avtoupakovka Java fordító használjuk fel a következő feltételeket:
- Amikor egy primitív típusú értéket vezetünk az eljárás, mint a beállítási mód, amely elvárja, hogy a tárgy megfelelő wrapper osztályt.
- Amikor egy ősi típus rendelt érték a változó megfelelő wrapper osztályt.
Válaszol október 28 '16 a 12:16