The second statement explicitly creates a new wrapper instance. But the first statement uses boxing, which
either implicitly creates a new wrapper instance,
or (because the value is within the range of a byte) references an existing instance. See
JLS 5.1.7 for details.