Java Wrapper Classes
Converting primitive types to objects
📦 What are Wrapper Classes?
Wrapper classes convert primitive data types into objects. They provide utility methods and allow primitives to be used in collections and generic programming.
// Primitive to Object conversion
int num = 10;
Integer wrappedNum = Integer.valueOf(num); // Boxing
int unwrapped = wrappedNum.intValue(); // Unboxing
Output:
wrappedNum: 10 (Integer object)
unwrapped: 10 (primitive int)
Wrapper Classes Types
Integer
Wraps int primitive type
Integer num = 42;
Double
Wraps double primitive type
Double price = 99.99;
Boolean
Wraps boolean primitive type
Boolean flag = true;
Character
Wraps char primitive type
Character letter = 'A';
🔹 Autoboxing and Unboxing
Java automatically converts between primitives and wrapper classes:
// Autoboxing - primitive to wrapper
int primitive = 100;
Integer wrapper = primitive; // Automatic conversion
// Unboxing - wrapper to primitive
Integer wrapperNum = 200;
int primitiveNum = wrapperNum; // Automatic conversion
// Using in collections
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(10); // Autoboxing happens here
Output:
wrapper: 100 (Integer object)
primitiveNum: 200 (int primitive)
ArrayList contains: [10]
🔹 Useful Wrapper Methods
Wrapper classes provide helpful utility methods:
// String to number conversion
String numberStr = "123";
int num = Integer.parseInt(numberStr);
double decimal = Double.parseDouble("45.67");
// Number to string conversion
String intStr = Integer.toString(456);
String doubleStr = Double.toString(78.9);
// Comparing values
Integer a = 100;
Integer b = 100;
boolean isEqual = a.equals(b); // true
// Min and max values
int maxInt = Integer.MAX_VALUE;
int minInt = Integer.MIN_VALUE;
Output:
num: 123
decimal: 45.67
intStr: "456"
isEqual: true
maxInt: 2147483647