Bird
Raised Fist0
Javaprogramming~5 mins

Unboxing in Java

Choose your learning style10 modes available
Introduction

Unboxing is the automatic conversion of an object wrapper type to its corresponding primitive type. It helps you use objects like simple values easily.

When you have a wrapper object like Integer and want to use it as a simple int.
When performing arithmetic operations on wrapper objects.
When passing wrapper objects to methods that expect primitive types.
When comparing wrapper objects with primitive values.
When you want to simplify code by avoiding manual conversion.
Syntax
Java
int primitiveValue = wrapperObject;

Java automatically converts the wrapper object to its primitive type.

This works for all wrapper classes like Integer, Double, Boolean, etc.

Examples
Here, the Integer object num is unboxed to the primitive int n.
Java
Integer num = 10;
int n = num;
The Double object dObj is unboxed to the primitive double d.
Java
Double dObj = 5.5;
double d = dObj;
The Boolean object flagObj is unboxed to the primitive boolean flag.
Java
Boolean flagObj = true;
boolean flag = flagObj;
Sample Program

This program shows how Integer and Double objects are automatically converted to primitive int and double types. Then it uses the unboxed values in calculations.

Java
public class UnboxingExample {
    public static void main(String[] args) {
        Integer wrappedInt = 100; // Integer object
        int primitiveInt = wrappedInt; // unboxing

        Double wrappedDouble = 12.34;
        double primitiveDouble = wrappedDouble; // unboxing

        System.out.println("Unboxed int: " + primitiveInt);
        System.out.println("Unboxed double: " + primitiveDouble);

        // Using unboxed values in arithmetic
        int sum = primitiveInt + 50;
        System.out.println("Sum: " + sum);
    }
}
OutputSuccess
Important Notes

If the wrapper object is null, unboxing will cause a NullPointerException.

Unboxing makes code cleaner by removing the need for explicit method calls like intValue().

Summary

Unboxing converts wrapper objects to primitive types automatically.

It works with all wrapper classes like Integer, Double, Boolean, etc.

Be careful to avoid unboxing null objects to prevent errors.

Practice

(1/5)
1. What does unboxing mean in Java?
easy
A. Converting a primitive type to a String
B. Automatically converting a wrapper object to its primitive type
C. Manually converting a primitive type to a wrapper object
D. Automatically converting a String to a wrapper object

Solution

  1. Step 1: Understand wrapper and primitive types

    Wrapper classes like Integer wrap primitive types like int.
  2. Step 2: Define unboxing

    Unboxing is the automatic conversion from wrapper object to primitive type.
  3. Final Answer:

    Automatically converting a wrapper object to its primitive type -> Option B
  4. Quick Check:

    Unboxing = wrapper to primitive [OK]
Hint: Unboxing means wrapper to primitive automatically [OK]
Common Mistakes:
  • Confusing unboxing with boxing (primitive to wrapper)
  • Thinking unboxing converts to String
  • Assuming unboxing requires manual code
2. Which of the following Java statements correctly uses unboxing?
easy
A. Integer num = 10; int val = num;
B. Integer val = new Integer(10);
C. Integer num = int 10;
D. Integer val = Integer.valueOf(10);

Solution

  1. Step 1: Check each option for correct syntax and unboxing

    Integer num = 10; int val = num; assigns Integer object to int variable, triggering unboxing automatically.
  2. Step 2: Identify errors in other options

    Integer val = new Integer(10); assigns wrapper object to wrapper variable (no unboxing); Integer num = int 10; has invalid syntax; Integer val = Integer.valueOf(10); assigns wrapper object to wrapper variable (no unboxing).
  3. Final Answer:

    Integer num = 10; int val = num; -> Option A
  4. Quick Check:

    Wrapper to primitive assignment triggers unboxing [OK]
Hint: Assign wrapper object to primitive variable to unbox [OK]
Common Mistakes:
  • Assigning wrapper constructors directly to wrapper variables (no unboxing)
  • Incorrect syntax like 'Integer num = int 10;'
  • Confusing boxing and unboxing syntax
3. What is the output of this Java code?
Integer a = 5;
int b = a + 10;
System.out.println(b);
medium
A. NullPointerException
B. 510
C. Compilation error
D. 15

Solution

  1. Step 1: Understand unboxing in expression

    Variable 'a' is Integer object; adding 10 triggers unboxing 'a' to int 5.
  2. Step 2: Calculate the sum and print

    5 + 10 = 15, so output is 15 printed.
  3. Final Answer:

    15 -> Option D
  4. Quick Check:

    Unboxing Integer 5 + 10 = 15 [OK]
Hint: Unboxing happens automatically in arithmetic expressions [OK]
Common Mistakes:
  • Thinking it concatenates as string '510'
  • Expecting compilation error due to wrapper usage
  • Confusing with NullPointerException if variable was null
4. Identify the error in this code snippet:
Integer num = null;
int val = num;
System.out.println(val);
medium
A. Prints 0 without error
B. Compilation error due to null assignment
C. Runtime NullPointerException during unboxing
D. Prints 'null' as output

Solution

  1. Step 1: Analyze unboxing of null Integer

    Variable 'num' is null; unboxing null to int causes runtime error.
  2. Step 2: Identify exception thrown

    Unboxing null throws NullPointerException at runtime.
  3. Final Answer:

    Runtime NullPointerException during unboxing -> Option C
  4. Quick Check:

    Unboxing null causes NullPointerException [OK]
Hint: Unboxing null causes runtime NullPointerException [OK]
Common Mistakes:
  • Expecting compilation error instead of runtime error
  • Assuming null unboxes to zero
  • Thinking it prints 'null' string
5. Given this code, what will be the output?
List<Integer> list = List.of(1, 2, null, 4);
int sum = 0;
for (Integer n : list) {
    sum += n; // unboxing happens here
}
System.out.println(sum);
hard
A. Runtime NullPointerException at unboxing null
B. Compilation error due to null in list
C. Sum ignoring null, prints 7
D. 10

Solution

  1. Step 1: Understand unboxing in loop with null element

    List contains a null Integer; unboxing null causes error.
  2. Step 2: Identify runtime behavior

    When loop reaches null, unboxing triggers NullPointerException.
  3. Final Answer:

    Runtime NullPointerException at unboxing null -> Option A
  4. Quick Check:

    Unboxing null in loop causes runtime exception [OK]
Hint: Unboxing null in collections causes runtime exception [OK]
Common Mistakes:
  • Assuming null is skipped or treated as zero
  • Expecting compilation error due to null in list
  • Thinking sum is partial ignoring null
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard