Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/03/2013, 11:54
Avatar de Xerelo
Xerelo
 
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Una duda con referencias a objetos

Un int y un Integer aunque a primera vista son iguales, no lo son. Uno es una primitiva, el otro es un objeto. En ocasiones es necesario que un int sea un objeto (y viceversa), por lo que se convierten automáticamente (autoboxing).

El caso es muy similar al de las String, si conviertes automáticamente un int a Integer, usará el mismo objeto para el mismo número, si creas tú el Integer, son objetos diferentes.


Prueba variando int y Integer, y lo verás

Código Javascript:
Ver original
  1. Integer[] in = new Integer[2];
  2.        
  3.         in[0] = 3;
  4.         in[1] = new Integer(3);
  5.        
  6.         System.out.println(in[0]==in[1]);
  7.         System.out.println(in[0].equals(in[1]));
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.