In the new program, did the ==
operator look at the contents of the object?
No. The ==
operator looks only at the variables.
==
Looks only at Variables
For primitive types, also, the ==
operator looks only at the variables.
For example:
int x = 32;
int y = 48;
if ( x ==
y ) System.out.println("They are equal.");
Only the contents of the variables x
and y
are examined.
But with primitive types, the contents of a variable is the data, so with
primitive types ==
looks at data.
With reference types, ==
looks at the contents of the variables,
but now the variables contain object references.
(Thought Question: ) Could two different objects contain equivalent data?