Estuve jugando con los wrappers para ver que curiosidades pueden tener, y me pregunte si por referencias son los Integer o se comportaran como un int asi que hice este código.
Integer num1 = Integer.valueOf(10);
Integer num2 = Integer.valueOf(10);
System.out.println(num1 == num2);
Y resulta que lo que imprimió el println fue un true
lo cual es imposible pasa clases con los mismos parámetros pero distinta instancia, por las referencias.
y mi pregunta es, ¿Por qué sucede esto si se supone que son clases, y las clases juegan con sus referencias?