# equals() question required

PETER CARTER
Ranch Hand
Posts: 70
Given that b and c refer to instances of wrapper classes, which two statements are
true? (Choose two)
A. b.equals(b) returns true.
B. b.equals(c) returns the same result as b == c.
C. b.eqials(c) can return false even if c.equals(b) returns true.
D. b.equals(c) throws an exception if b and c are different wrapper types.
E. b.equals(c) returns false if the type of wrapper objects being compared are different.
But I belive the right answer is :A,E.
Thanks !!

Sandeep Jindal
Ranch Hand
Posts: 180
Hi,

I also think A,E. Please verify the question once again.

Jessica Sant
Sheriff
Posts: 4313
hmmm its been awhile since I've played with wrappers... so I wrote a bit of code to test it out... I think A, B and E are correct ?? Try writing some snippets to prove me right or prove me wrong.

Result:

aishwarya mathur
Greenhorn
Posts: 22
Jessica ,

Can we justify the above question posted by Peter Carter without knowing the contents for the wrapper objects. I mean as you have shown in ur code snippet
Integer i = new Integer(2); ---- how can we get the answers without the contents of the objects, as the above instruction shows 2.

Tom Tolman
Ranch Hand
Posts: 83
b is incorrect. Try the following code:

It outputs

a not == b
a equals b

They are two different wrapper objects which both wrap 2.

tao wu
Greenhorn
Posts: 8

Code from j2dk1.4.2