Question 437 of 509
Working with Arrays and CollectionshardMultiple ChoiceObjective-mapped

Quick Answer

The answer is a ClassCastException caused by retrieving an Integer from a raw type Map and casting it to a String. This happens because raw types bypass compile-time generic type checking, so the compiler cannot verify that the value stored is actually an Integer, not a String. When the code later performs an explicit cast to String, the JVM detects the type mismatch at runtime and throws the ClassCastException. On the Oracle Certified Professional Java SE 17 Developer 1Z0-829 exam, this scenario tests your understanding of generics and type safety, often appearing in questions about legacy code or collections without type parameters. A common trap is assuming raw types behave like parameterized types, but they disable all generic checks, leaving you vulnerable to runtime errors. Remember the mnemonic: “Raw types are raw deals—no compile-time shields, only runtime spills.”

1Z0-829 Working with Arrays and Collections Practice Question

This 1Z0-829 practice question tests your understanding of working with arrays and collections. Read the scenario carefully and evaluate each option against the stated constraints before committing to an answer. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.

Exhibit

Refer to the exhibit.

Error log:
Exception in thread "main" java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String
    at com.example.Cache.get(Cache.java:12)
    at com.example.Main.main(Main.java:10)

Source code:
public class Cache {
    private Map<String, Object> store = new HashMap<>();
    public <T> T get(String key, Class<T> type) {
        Object value = store.get(key);
        return type.cast(value);
    }
}

public class Main {
    public static void main(String[] args) {
        Cache cache = new Cache();
        cache.store.put("age", 30);
        String age = cache.get("age", String.class);
        System.out.println(age);
    }
}

What is the cause of the ClassCastException?

Question 1hardmultiple choice
Full question →

Exhibit

Refer to the exhibit.

Error log:
Exception in thread "main" java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String
    at com.example.Cache.get(Cache.java:12)
    at com.example.Main.main(Main.java:10)

Source code:
public class Cache {
    private Map<String, Object> store = new HashMap<>();
    public <T> T get(String key, Class<T> type) {
        Object value = store.get(key);
        return type.cast(value);
    }
}

public class Main {
    public static void main(String[] args) {
        Cache cache = new Cache();
        cache.store.put("age", 30);
        String age = cache.get("age", String.class);
        System.out.println(age);
    }
}

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

The value stored is Integer but retrieved as String.

The ClassCastException occurs because the code retrieves a value from the store map and attempts to cast it to String, but the actual stored object is an Integer. Since the map is not using generics (raw type), the compiler does not enforce type safety, allowing the mismatch to be caught only at runtime.

Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • The store map is not type-safe.

    Why it's wrong here

    It's not the direct cause; the cast is.

  • The value stored is Integer but retrieved as String.

    Why this is correct

    Correct cause.

    Related concept

    Read the scenario before looking for a memorised answer.

  • The get method should use (T) cast instead of type.cast().

    Why it's wrong here

    Still would throw ClassCastException.

  • The type parameter T is not used correctly.

    Why it's wrong here

    It is used correctly; the mismatch is the issue.

Common exam traps

Common exam trap: answer the scenario, not the keyword

The trap here is that candidates may confuse the lack of type safety (Option A) with the direct cause of the exception, which is the actual type mismatch at retrieval time.

Detailed technical explanation

How to think about this question

Under the hood, the JVM performs a checkcast instruction when a reference is cast to a specific type. If the object's runtime type is not a subtype of the target type, a ClassCastException is thrown. In real-world scenarios, using raw types or unchecked casts in legacy code often leads to such exceptions, which is why generics were introduced in Java 5 to provide compile-time type safety.

KKey Concepts to Remember

  • Read the scenario before looking for a memorised answer.
  • Find the constraint that changes the correct option.
  • Eliminate answers that are true in general but not in this case.

TExam Day Tips

  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Key takeaway

Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Real-world example

How this comes up in practice

A practitioner preparing for the 1Z0-829 exam encounters this exact type of scenario on the job. The correct answer here is not the most general option — it is the best answer for the specific constraint described. Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option. Real exam questions reward reading the full scenario before eliminating options, because the constraint defines which answer fits.

What to study next

Got this wrong? Here's your next step.

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

Related practice questions

Related 1Z0-829 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

Practice this exam

Start a free 1Z0-829 practice session

Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.

FAQ

Questions learners often ask

What does this 1Z0-829 question test?

Working with Arrays and Collections — This question tests Working with Arrays and Collections — Read the scenario before looking for a memorised answer..

What is the correct answer to this question?

The correct answer is: The value stored is Integer but retrieved as String. — The ClassCastException occurs because the code retrieves a value from the store map and attempts to cast it to String, but the actual stored object is an Integer. Since the map is not using generics (raw type), the compiler does not enforce type safety, allowing the mismatch to be caught only at runtime.

What should I do if I get this 1Z0-829 question wrong?

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

What is the key concept behind this question?

Read the scenario before looking for a memorised answer.

About these practice questions

Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Last reviewed: Jun 11, 2026

Question Discussion

Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.

Loading comments…

Sign in to join the discussion.

This 1Z0-829 practice question is part of Courseiva's free Oracle certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 1Z0-829 exam.