Sobes.tech
Junior

Czym są klasy opakowujące (Wrapper classes) w Java?

sobes.tech AI

Odpowiedź od AI

Klasy opakowujące (Wrapper) w Java to klasy, które reprezentują typy prymitywne jako obiekty. Dostarczają zestaw przydatnych metod do pracy z odpowiadającymi wartościami prymitywnymi.

Główne klasy opakowujące dla typów prymitywnych:

  • byte -> Byte
  • short -> Short
  • int -> Integer
  • long -> Long
  • float -> Float
  • double -> Double
  • char -> Character
  • boolean -> Boolean

Zalety korzystania z klas opakowujących:

  • Praca z typami prymitywnymi w kolekcjach (ArrayList, HashMap itp.), które mogą przechowywać tylko obiekty.
  • Udostępnianie metod do konwersji typów (np. z łańcucha znaków na liczbę).
  • Obsługa wartości null (typy prymitywne nie mogą być null).
  • Użycie w API Reflection i innych frameworkach pracujących z obiektami.

Java zapewnia mechanizmy autoboxingu i unboxingu, które automatycznie konwertują typy prymitywne na ich obiekty Wrapper i odwrotnie.

Przykład autoboxingu i unboxingu:

// Autoboxing: int do Integer
Integer wrapperInt = 10;

// Unboxing: Integer do int
int primitiveInt = wrapperInt;