== checks if objects are the exact same instance in memory. It might be useful to make that distinction in some special case.
Yes, I do agree it would be helpful to make that distinction in some case. What I meant by meaningful equality was meant towards referencing if an objects state values are the same.
Open question:
Is unboxing of Integer why the below code prints out true or is that int 1 is being boxed to Integer? I feel as though if it were latter case the result would mean they would not be equal.
Also since string doesnt have a boxing feature so the false should print out in this case because the string objects are pointing to different references correct?