Arrays and Strings · Introduction to Java Programming

Wrapper Classes

Watch lectures

Wrapper Classes

1. Why Wrappers? (beginner)

Primitives (int) are fast but not objects — can't go in ArrayList, can't have methods/null. Wrappers wrap each primitive as object: int→Integer, double→Double, etc. Bridge for collections + parsing!

2. Eight Pairs (exam table!)

Primitive Wrapper Parse String→value
int Integer Integer.parseInt("42") → 42
double Double Double.parseDouble("3.14") → 3.14
char Character Character.isDigit('5') → true
boolean Boolean Boolean.parseBoolean("true") → true
byte/short/long/float Byte/Short/Long/Float same parseXxx pattern

3. Autoboxing Magic (Java 5+ — beginners love!)

Integer obj = 42;      // autoboxing: int → Integer (auto!)
int x = obj;           // unboxing: Integer → int (auto!)
ArrayList<Integer> list = new ArrayList<>(); // primitives FORBIDDEN here!
list.add(10);          // autoboxed to Integer (no new needed!)
list.add(Integer.valueOf(20)); // explicit (same!)
int sum = list.get(0) + list.get(1); // unboxed back!
String s = "123";
int n = Integer.parseInt(s); // THE args-parsing trick (see CLI topic!)

4. Traps (exam favourites!)

  • Integer a=127, b=127 → a==b true (cached!), but 128==128 wrappers → false (different objects!). Always .equals() / intValue() for values!
  • null Integer + unbox → NullPointerException: Integer o=null; int x=o; CRASH!
  • Parse garbage → NumberFormatException: Integer.parseInt("abc") crashes!

5. Exam Points

  • Table + autoboxing + parse program — 7 marks, very frequent.
  • == cache trap (127 vs 128) + NPE — 5 marks, favourite traps.
Free AppAndroid App

Coursify Android App

Generate AI courses, take quick quizzes between classes, and master complex engineering concepts on the go.

← All Introduction to Java Programming modules