as far as I'm concerned both primitive values will implicitly convert into wrapper classes
That's when you assign a primitive to a wrapper of that type (say int to Integer reference) with JDK 5 onwards, called boxing (or auto boxing). And the reverse also possible (unboxing) when you assign wrapper type reference to premitive reference.
Here "==" operator checks the content(value) of what the references refers to. In this case both equal (value 42).