AP CSA 4.7 Exercise 2: Wrapper Classes Applied Practice

AP CSA Hub Unit 4 4.1 â–¼ Lesson Ex 1 Ex 2 Quiz 4.2 â–¼ Lesson Ex 1 Ex 2 Quiz 4.3 â–¼ Lesson Ex 1 Ex 2 Quiz 4.4 â–¼ Lesson Ex 1 Ex 2 Quiz 4.5 â–¼ Lesson Ex 1 Ex 2 Quiz 4.6 â–¼ Lesson Ex 1 Ex 2 Quiz 4.7 â–¼ Lesson Ex 1 Ex 2 Quiz 4.8 â–¼ Lesson Ex 1 Ex 2 Quiz 4.9 â–¼ Lesson Ex 1 Ex 2 Quiz 4.10 â–¼ Lesson Ex 1 Ex 2 Quiz 4.11 â–¼ Lesson Ex 1 Ex 2 Quiz 4.12 â–¼ Lesson Ex 1 Ex 2 Quiz 4.13 â–¼ Lesson Ex 1 Ex 2 Quiz 4.14 â–¼ Lesson Ex 1 Ex 2 Quiz 4.15 â–¼ Lesson Ex 1 Ex 2 Quiz 4.16 â–¼ Lesson Ex 1 Ex 2 Quiz 4.17 â–¼ Lesson Ex 1 Ex 2 Quiz

Unit 4: Data Collections · Lesson 4.7 · Exercise 2

Wrapper Classes: Applied Practice

Six scenarios on parsing, boxing and comparing Integer and Double objects, the skills exercise-1 grades directly.

How this one is different

The exercise-1 code editor asks you to use parseInt, valueOf and compareTo correctly. These six ask why == is dangerous on boxed values and where an overflow check actually has to happen.

Applied Practice

6 questions · scenario driven · every answer is recorded for your teacher

Question 1 of 6Apply
A program reads the String "42" from user input and needs to use it in arithmetic.
Which correctly converts it to a usable int?
Incorrect. A String cannot be assigned directly to an int; this is a compile error.
Correct. Correct. This is exactly what Integer.parseInt converts a numeral String into.
Incorrect. Casting a String to int is not a legal cast in Java.
Incorrect. Integer is a class; calling it like this without new is not valid object creation syntax.
Question 2 of 6Analyze
A method parameter is declared Integer count instead of int count.
What is the practical difference a student is most likely to run into?
Correct. Correct. This nullability gap is the practical, exam-relevant reason wrapper classes matter.
Incorrect. They differ specifically around null and object identity.
Incorrect. int is not deprecated; both are used constantly, for different reasons.
Incorrect. Both wrap the same 32 bit range; boxing does not extend it.
Question 3 of 6Apply
Two Integer objects, a and b, both currently hold the value 200.
Which comparison correctly and reliably checks whether they represent the same numeric value?
Incorrect. == on two Strings compares references too, the same trap as A.
Incorrect. Object references are not comparable with > in the way this option implies; compareTo is the safe, correct tool.
Incorrect. == on two Integer objects compares object identity, not value, and is not guaranteed true for boxed values outside the small cached range.
Correct. Correct. compareTo returning 0, or equals returning true, both correctly compare the wrapped values.
Question 4 of 6Evaluate
A student writes if (sum + increase > Integer.MAX_VALUE), where sum and increase are both int, to check for overflow.
Why does this check fail to catch the overflow it is trying to detect?
Incorrect. This is exactly the bug being tested. A correct check widens to long first, for example (long) sum + increase > Integer.MAX_VALUE.
Incorrect. MAX_VALUE is the right constant; the problem is the timing of when overflow happens relative to the check.
Correct. Correct. The addition overflows in int arithmetic before the > check ever sees the result, so the check inspects a number that has already wrapped.
Incorrect. The operator works fine syntactically.
Question 5 of 6Analyze
A program reads "3.14" as text and needs to store it as a number that supports decimal precision.
Which conversion is correct?
Incorrect. Integer.parseInt throws NumberFormatException on any input containing a decimal point.
Correct. Correct. This is exactly what Double.parseDouble converts a numeral String into.
Incorrect. A String cannot be assigned directly to a double; compile error.
Incorrect. This boxes an already-numeric double literal rather than parsing text, so it does not solve the stated problem of converting a String.
Question 6 of 6Apply
A grading program stores scores in an ArrayList<Integer> rather than an int[].
What must happen for a primitive int value to go into that list?
Correct. Correct. Autoboxing inserts the Integer.valueOf conversion for the student, which is why list.add(someInt) compiles at all.
Incorrect. It compiles and runs fine; autoboxing makes it work transparently.
Incorrect. No String round trip is involved; it is a direct object-boxing step.
Incorrect. ArrayList can only hold objects, never primitives directly; something has to happen even if it looks automatic.

Where to go next

Get in Touch

Whether you're a student, parent, or teacher — I'd love to hear from you.

Just want free AP CS resources?

Enter your email below and check the subscribe box — no message needed. Students get daily practice questions and study tips. Teachers get curriculum resources and teaching strategies.

Typically responds within 24 hours

Message Sent!

Thanks for reaching out. I'll get back to you within 24 hours.

🏫 Welcome, fellow educator!

I offer curriculum resources, practice materials, and study guides designed for AP CS teachers. Let me know what you're looking for — whether it's classroom materials, a guest speaker, or Teachers Pay Teachers resources.

Email

[email protected]

📚

Courses

AP CSA, CSP, & Cybersecurity

Response Time

Within 24 hours

Prefer email? Reach me directly at [email protected]