Example:
Integer i = 7;
int j = i + 3;
More serious example:
Integer I = 0;
Integer J = 0;
System.out.println(I == J); // prints true
Integer I = 300;
Inetger J = 300;
System.out.println(I == J); // prints false
Integer.valueOf(int)
caches values comprised between -128 and 127.
Problem because:
May hide performance issues; breaks assumptions on object identity
Severity: minor; ignored by default.