Sobes.tech
Junior

Какво са обвиващите класове (Wrapper класове) в Java?

sobes.tech AI

Отговор от AI

Класовете Wrapper в Java са класове, които представляват примитивните типове данни като обекти. Те предоставят набор от полезни методи за работа с съответните примитивни стойности.

Основните Wrapper класове за примитивните типове:

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

Предимства на използването на Wrapper класове:

  • Работа с примитивни типове в колекции (ArrayList, HashMap и др.), които могат да съхраняват само обекти.
  • Предоставяне на методи за преобразуване на типове (например, низ към число).
  • Поддръжка за стойности null (примитивните типове не могат да бъдат null).
  • Използване в Reflection API и други рамки, работещи с обекти.

Java предоставя механизми за автоматично опаковане (autoboxing) и автоматично разопаковане (unboxing), които автоматично преобразуват примитивните типове в техните Wrapper обекти и обратно.

Пример за autoboxing и unboxing:

// Autoboxing: int към Integer
Integer wrapperInt = 10;

// Unboxing: Integer към int
int primitiveInt = wrapperInt;