INF.04Języki i Składnia Programowania
Pakowanie i rozpakowywanie (Boxing & Unboxing)
Boxing to konwersja typu wartościowego (np. int, struct) na typ referencyjny (object na stercie), a Unboxing to odwrotna konwersja z rzutowaniem.
Różnica między stosem a stertą:
- Boxing (Pakowanie): Wartość ze stosu jest kopiowana do nowego obiektu zaalokowanego na stercie (
int i = 123; object o = i;). - Unboxing (Rozpakowywanie): Wartość ze sterty jest kopiowana z powrotem na stos (
int j = (int)o;). - Wydajność: Częsty boxing w pętlach obciąża pamięć i Garbage Collectora – dlatego wprowadzono kolekcje generyczne (
List<int>zamiastArrayList).
Chcesz sprawdzić to pojęcie w praktyce?
Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Pakowanie i rozpakowywanie (Boxing & Unboxing) lub rozpocznij trening.