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

🧠 Test Your Knowledge

What is autoboxing in Java?