<div dir="ltr">Hello all!<div><br></div><div>In reviewing the latest edition of JEP 401, I came into language that made me a little confused.</div><div><br></div><div>In section "Identity-sensitive operations" we read:</div><div><br></div><div>"Fields with primitive types are compared by their bit patterns. Other field values—both identity and value objects—are recursively compared with ==."</div><div><br></div><div>Later, we read:</div><div><br></div><div>"Also note that the == operator does not perform a "deep equals" comparison on identity objects stored in fields (...)"<br><div><br></div><div>My understanding of value classes so far has been that value objects are compared as-if by &&-ing the ==s of its fields. This seems to me the meaning of identity object fields not being compared by some deep equals algorithm. However, earlier, the text says that identity objects are recursively compared with ==. But recursively means to me something similar to deep: one would "recurse into" the object`s own fields.</div><div><div><br class="gmail-Apple-interchange-newline">I am not a native english speaker. Am I reading this incorrectly? What is the intention of saying that other field values, including identity object fields, are recursively compared with ==?</div></div><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>Pedro Lamarão</div></div></div></div></div>