ReferenceToIntegerConversionDRAFTObserved

One can cast between references and ints
One cannot cast between references and ints
CorrectionHere is what's right.
Java is a type-safe language. An object reference is opaque; there is no way to convert it to an integer address.
However, Java allows auto-boxing and auto-unboxing.
Which means that Java automatically can
e.g., convert an int into an Integer and vice versa.
This doesn’t have anything to do with the object’s address, however!
So Integer i = 5; is correct.
And given that Object is a supertype of Integer,
even Object o = 5; is correct,
and Object o = (Object)5; likewise.
Conversely, int i = new Integer(5); is correct,
and int i = (int)new Integer(5);' is correct.
However, int i = (int)new Object(); is not correct,
because Object is not a subtype of Integer
and thus new Object() can’t possibly be cast into an Integer object
for unboxing into an int.