Wrapper classes convert primitive data types into objects.
Primitive β Object
int β Integer
double β Double
char β Character
boolean β Boolean
Why?
Because many Java APIs work only with objects, not primitives.
Examples:
Collections, Generics, Streams, HashMap, ArrayList
β Allow primitives in collections
β Provide utility methods
β Enable null values (primitives canβt)
β Needed for OOP + frameworks
β Works with Generics (List<Integer> not List<int>)