Will the above code first wrap the int literal 8 in an Integer and then assign its reference to variable ob?
Yes. (Or rather, it will box the
int value into an
Integer object, and then assign the reference to the variable
ob. The fact that the integer value is a literal is irrelevant here, really. It could be a method call returning
int, for example.)
Because the java language specification has nothing on this case.
That’s not true. I mean, it doesn’t explicitly deal with assigning to
Object, but it works the same way as normal conversions.
Section 5.1.7 of the specification deals with boxing, which would convert
Integer… and then assigning an
Integer reference to an
Object variable is a normal reference conversion.