Courseiva
Question 75 of 513
Utilizing Java Object-Oriented ApproachmediumDrag & DropObjective-mapped

1Z0-829 Utilizing Java Object-Oriented Approach Practice Question

Arrange the steps to override equals() and hashCode() correctly in Java.

Drag steps to the numbered slots on the right, or tap a step then tap a slot.

Steps
Order
1Step 1
2Step 2
3Step 3
4Step 4
5Step 5

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

Override equals() with @Override, check identity (==), check null/class, cast, compare fields, override hashCode() with @Override, use Objects.hash() with same fields

equals() and hashCode() must be consistent: if two objects are equal, they must have the same hash code. Use Objects.hash() for hashCode().

Answer analysis

Option-by-option breakdown

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

  • Override equals() with @Override, check identity (==), check null/class, cast, compare fields, override hashCode() with @Override, use Objects.hash() with same fields

    Why this is correct

    This order ensures the equals() and hashCode() contract: reflexive, symmetric, transitive, consistent; and that equal objects have equal hash codes.

  • Override hashCode() with @Override and Objects.hash(), then override equals() with @Override, check identity, cast, compare fields (skip type/null check)

    Why it's wrong here

    This order may compile but violates the contract because skipping the type/null check in equals() can cause ClassCastException or inconsistent results. Also, defining hashCode() before equals() risks inconsistency if fields are not finalized.

  • Override equals() with @Override, check identity, cast directly compare fields, override hashCode() with @Override using random values

    Why it's wrong here

    Missing the type/null check can lead to ClassCastException. Using random values for hashCode() breaks the contract: equal objects would have different hash codes, causing issues in hash-based collections.

  • Override equals() with @Override, check identity, check type, override hashCode() with @Override and Objects.hash(), then cast and compare fields

    Why it's wrong here

    The casting and field comparison must occur inside equals() before the method ends. Placing hashCode() in between is syntactically invalid and conceptually wrong—it breaks the structure of the equals() method.

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.